3

我正在看一本书中的一些示例代码,它通过将场景(以不同的偏移量)重复渲染到屏幕外纹理上来创建抖动的抗锯齿效果,然后使用该纹理在主视图中重复绘制一个四边形并设置一些混合内容.

为了“正确”累积颜色,代码设置颜色如下:

glColor4f(f, f, f, 1);

其中 f 是1.0/number_of_samples,然后绑定屏幕外纹理并渲染它。

由于纹理带有自己的颜色和 alpha 数据,那么提前设置整体“颜色”会达到什么效果(数学上和直观上)?

谢谢。

4

1 回答 1

5

默认纹理环境是 GL_MODULATE,这意味着顶点颜色(使用 glColor 设置)与纹理颜色相乘。

因此,从数学上讲,它确实:

fragmentColor = texColor / numberOfSamples (alpha = 1.0)

希望能解释一下。

于 2010-06-15T00:36:26.530 回答