如果这个问题看起来很困惑,我提前道歉。我看到的行为对我来说毫无意义。
我有一个帧缓冲区渲染到纹理。我为这个纹理渲染了不同不透明度的红色、绿色、蓝色的实心矩形。然后我将纹理渲染到屏幕(帧缓冲区 0)。贴在纹理上的帧缓冲区是持久的,在每个渲染循环中,我都会在纹理上绘制更多矩形——最终填满屏幕。
我发现如果glColor()
在将纹理渲染到屏幕之前没有设置为白色 100% 不透明度,则不会渲染特定颜色的矩形。也就是说,如果glColor(1.f, 0.f, 0.f, 1.f)
在渲染纹理之前设置,则只会绘制蓝色矩形。
我不明白为什么当前颜色会对纹理的渲染产生影响(我认为这就像一个 blit)。我尝试了各种texParameter(...)
电话无济于事,但我只是猜测。
谢谢。