【发布时间】:2009-07-01 16:50:26
【问题描述】:
如果这个问题看起来令人困惑,我提前道歉。我看到的行为对我来说毫无意义。
我有一个帧缓冲区渲染到纹理。我为这个纹理渲染了不同不透明度的红色、绿色、蓝色的实心矩形。然后我将纹理渲染到屏幕(帧缓冲区 0)。贴在纹理上的帧缓冲区是持久的,在每个渲染循环中,我都会在纹理上绘制更多矩形——最终填满屏幕。
我发现如果在将纹理渲染到屏幕之前没有将glColor() 设置为白色 100% 不透明度,则不会渲染特定颜色的矩形。也就是说如果在渲染纹理之前设置了glColor(1.f, 0.f, 0.f, 1.f),则只会绘制蓝色矩形。
我不明白为什么当前颜色会影响纹理的渲染(我认为这就像 blit)。我尝试了各种texParameter(...) 调用无济于事,但我只是猜测。
谢谢。
【问题讨论】:
-
我认为函数 glColor() 在 OpenGL ES 中不可用
标签: opengl opengl-es textures framebuffer