gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 13:47:34 25 4
gpt4 key购买 nike

在四处查看并使用谷歌搜索后,我找不到这个问题的准确答案。我有一小段代码将点绘制到代表图像的 float 组。我从其他地方的另一篇文章 (http://freespace.virgin.net/hugo.elias/graphics/x_wupixl.htm) 中看到了 Xiaolin Wu 的抗锯齿功能。这一切都是有道理的,我让它工作,但是它没有解释如何处理两个粒子(或 Wu 像素)重叠或共享相同像素的情况......

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

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

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

最佳答案

啊,找到了一些关于基本 alpha 混合的信息。似乎可以解决问题!

新 = (颜色 * alpha) + (旧 * (1.0 - alpha));

现在足够好了。

关于C++ : anti-aliased points overlapping (alpha blend),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25229095/

25 4 0