如果这个问题看起来很混乱,我很抱歉。我所看到的行为对我来说毫无意义。OpenGL/OpenGL ES中的帧缓冲区,纹理和glColor行为
我有一个Framebuffer渲染到纹理。我渲染红色,绿色,蓝色不同的不透明度的实心矩形到这个纹理。然后我将纹理渲染到屏幕(Framebuffer 0)。附加到纹理的Framebuffer是持久的,并且在每个渲染循环中,我会为纹理绘制更多的矩形 - 最终填充屏幕。
我发现如果我在将纹理渲染到屏幕之前没有将glColor()
设置为白色100%不透明度,则不会呈现特定颜色的矩形。那就是如果在渲染纹理之前设置了glColor(1.f, 0.f, 0.f, 1.f)
,则只绘制蓝色矩形。
我不明白为什么当前颜色会影响纹理的渲染(我认为它就像一个blit)。我曾试过各种texParameter(...)
的电话无济于事,但我只是猜测。
谢谢。
我觉得函数glColor()在OpenGL ES中不可用 – 2010-07-17 09:42:16