繁体   English   中英

累积Alpha混合

[英]Cumulative alpha blending

有谁知道glBlendFunc使用什么设置来实现累积混合?

例如:

  1. 50%alpha + 50%alpha = 50%alpha
  2. 50%alpha + 40%alpha = 50%alpha
  3. 50%alpha + 60%alpha = 60%alpha

我正在尝试做的是渲染多个形状,所有形状相同的颜色,但具有不同的alpha值。 一些形状会重叠。 我希望每个结果像素都等于用最大的alpha值渲染一次。

我需要使用香草GL10,因此没有最小/最大方程式可用。

我正在研究几种可行的替代解决方案,一种使用深度,另一种使用多遍渲染,但是我有一种直觉,感觉我没有看到一种更整洁的方式。

如果使用OpenGL 1.1。 执行时,可以使用累积缓冲区。

累积缓冲区累积不同的渲染通道,使您可以表示每种像素颜色。 实际上,如果绘制不同的形状,则重叠区域将累积重叠形状的颜色值。

固定渲染阶段的数量(例如N ),由M个形状拥有的像素将具有RGB * M / N的颜色; 据我了解,这就是您想要得到的。

有关详细信息,请参见glAccum手册。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM