我正在看一本书中的一些示例代码,它通过重复渲染场景(在不同的偏移处)到屏幕外纹理来创建抖动的抗锯齿效果,然后使用该纹理在主视图中重复绘制一个四边形设置的东西。
为了“正确”累积颜色,代码设置颜色如下:
glColor4f(f, f, f, 1);
其中f为1.0/number_of_samples
,然后绑定屏幕外纹理并渲染它。
由于纹理带有自己的颜色和alpha数据,因此提前设置整体“颜色”的效果(数学和直观)是什么?
感谢。
答案 0 :(得分:5)
默认纹理环境是GL_MODULATE,这意味着顶点颜色(使用glColor设置)与纹理颜色相乘。
所以,在数学上,它确实:
fragmentColor = texColor / numberOfSamples (alpha = 1.0)
希望能够解释它。