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