OpenGL奇怪的颜色

时间:2019-09-06 20:23:13

标签: opengl textures forward-compatibility

我们正在将游戏从OpenGL 2.1升级到3.1核心(可向前兼容)。 除了一个小的但非常奇怪的故障之外,一切都很好。

我们有一个白色填充纹理,在3D世界加载后,它会以某种方式变为红色。 即它会在采样时开始在片段着色器中提供vec3(1,0,0),而不是vec3(1,1,1)。

它仅在3.1前向兼容上下文中发生。兼容性3.1甚至核心3.1上下文都没有体现这一点。没有GL错误。而且,它同时发生在Intel和nVidia GPU上。

那会是什么?

1 个答案:

答案 0 :(得分:1)

我可以看到错误地使用了它捕获深度缓冲区,从而破坏了我们的白色纹理。结果,它的内部格式为DEPTH_COMPONENT,取决于前向兼容性,它是LUMINANCE vs RED。 enter image description here