Opengl 在执行纹理贴图操作之前设置GL颜色的作用是什么?
我正在看一本书中的一些示例代码,它通过在屏幕外纹理上重复渲染场景(以不同的偏移)来创建抖动的抗锯齿效果,然后使用该纹理在主视图中重复绘制四边形,并设置一些混合内容 要“正确”累积颜色,代码将如下设置颜色:Opengl 在执行纹理贴图操作之前设置GL颜色的作用是什么?,opengl,texture-mapping,Opengl,Texture Mapping,我正在看一本书中的一些示例代码,它通过在屏幕外纹理上重复渲染场景(以不同的偏移)来创建抖动的抗锯齿效果,然后使用该纹理在主视图中重复绘制四边形,并设置一些混合内容 要“正确”累积颜色,代码将如下设置颜色: glColor4f(f, f, f, 1); 其中f是1.0/样本数,然后绑定屏幕外纹理并渲染它 由于纹理具有自己的颜色和alpha数据,因此预先设置整体“颜色”会产生什么效果(数学上和直观上) 谢谢。默认的纹理环境是GL_MODULATE,这意味着顶点颜色(使用glColor设置)与纹理颜
glColor4f(f, f, f, 1);
其中f是1.0/样本数
,然后绑定屏幕外纹理并渲染它
由于纹理具有自己的颜色和alpha数据,因此预先设置整体“颜色”会产生什么效果(数学上和直观上)
谢谢。默认的纹理环境是GL_MODULATE,这意味着顶点颜色(使用glColor设置)与纹理颜色相乘 因此,从数学上讲,它确实:
fragmentColor = texColor / numberOfSamples (alpha = 1.0)
希望能解释清楚。谢谢!这很有帮助。因此,接下来的问题是:如果我想将纹理映射到四边形,并精确保留纹理上的RGBA,我可以做以下两件事之一:1。将纹理环境更改为GL_REPLACE或2。将颜色设置为(1,1,1,1)。这是正确的吗?