【问题标题】:C++ : anti-aliased points overlapping (alpha blend)C++:抗锯齿点重叠(阿尔法混合)
【发布时间】:2014-08-10 13:32:31
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c++ pixel alpha antialiasing


    【解决方案1】:

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

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

    现在已经足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      相关资源
      最近更新 更多