C ++:反锯齿点重叠(alpha混合)

时间:2014-08-10 13:32:32

标签: c++ pixel alpha antialiasing

在环顾四周和Google搜索后,我找不到这个问题的准确答案。我有一小段代码将点绘制到代表图像的浮点数组。我从其他地方的另一个帖子(http://freespace.virgin.net/hugo.elias/graphics/x_wupixl.htm)看到了小林吴的抗锯齿。这一切都有意义,我有它的工作,但它没有解释如何处理两个粒子(或吴像素)重叠或共享相同像素的情况......

我尝试创建另一个缓冲区(每个像素的样本数)并添加每个粒子对其的贡献,然后在绘制所有点之后平均所有值,但它并没有真正给出我预期的结果(亮度似乎减半,点之间有趣的重叠等。)。

我的问题是,这种情况通常是如何处理的?由于它是消除锯齿的,因此没有粒子对像素有100%的贡献(很少......很少),因此不能只是将旧像素值换成新值。

任何提示都将不胜感激!希望这是明确的,也是一个有效的问题......

1 个答案:

答案 0 :(得分:0)

啊,找到了一些关于基本alpha混合的信息。似乎可以做到这一点!

new =(color * alpha)+(old *(1.0 - alpha));

现在好了。