有谁知道glBlendFunc用什么设置来实现累积混合?
例如:
我尝试做的是渲染多个形状,所有颜色相同但具有不同的alpha值。有些形状会重叠。我希望每个结果像素相当于只用最大的alpha值渲染一次。
我需要使用vanilla GL10,因此没有最小/最大等式的东西可用。
我正在开发一些hotch-potch替代解决方案,一个使用深度,另一个使用多次渲染,但我有一种直觉,那是一种我没有看到的更简洁的方式。
答案 0 :(得分:0)
如果您使用OpenGL 1.1。实现时,可以使用累积缓冲区。
累积缓冲区累积不同的渲染过程,允许您表示每个像素颜色。实际上,如果您绘制不同的形状,重叠区域将累积重叠形状的颜色值。
修复了渲染阶段的数量(比如 N ), M 形状所拥有的像素将具有RGB * M / N的颜色;据我所知,这就是你想得到的。
有关详细信息,请参阅glAccum手册。