-1

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

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

它只发生在 3.1 前向兼容的上下文中。兼容性 3.1 甚至核心 3.1 上下文都没有表现出这一点。没有总帐错误。而且,它发生在 Intel 和 nVidia GPU 上。

会是什么呢?

4

1 回答 1

1

我可以看到我错误地使用它来捕获深度缓冲区来破坏我们的白色纹理。结果,它具有 DEPTH_COMPONENT 的内部格式,即 LUMINANCE 与 RED,具体取决于前向兼容性。 在此处输入图像描述

于 2019-09-07T06:03:43.813 回答