c++:抗锯齿点重叠(alpha混合)

C++ : anti-aliased points overlapping (alpha blend)

本文关键字:alpha 混合 重叠 c++      更新时间:2023-10-16

我找不到这个问题的确切答案。我有一小段代码,它将点绘制到一个表示图像的浮点数组。我在另一个帖子(http://freespace.virgin.net/hugo.elias/graphics/x_wupixl.htm)上看到了吴晓琳的抗混叠。这一切都是有意义的,我有它的工作,但它并没有解释如何处理的情况下,两个粒子(或吴像素)重叠或共享相同的像素…

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

我的问题是,这种情况通常是如何处理的?因为它是抗锯齿的,所以没有粒子对像素有100%的贡献(好吧……很少),所以它不能只是交换旧的像素值为新的值。

任何提示将不胜感激!

啊,发现了一些关于基本alpha混合的信息。似乎很管用!

新=(颜色*α)+(老*(1.0 -α));