我正在使用 gl_Layer 进行分层渲染,并在几何着色器中分配了一个图层值。但是,当我在片段着色器中使用 gl_Layer 时,出现错误:
此配置文件中无法访问 gl_Layer
这是我的着色器:
#version 400 core
uniform sampler2DArray diffuse;
in vec2 outtexcoords;
layout(location = 0, index = 0) out vec4 FragColor;
void main()
{
FragColor = texture(diffuse, vec3(outtexcoords, gl_Layer));
}
我当然可以通过使用另一个输入/输出变量来绕过这个,但我想知道在片段着色器中使用 gl_Layer 有什么问题。我曾尝试在 Fragment 程序中使用“in int gl_Layer”,但我想这不是解决方案,因为它在一个内置变量中。
是因为我没有使用正确的扩展程序吗?还是我的 GL 版本还不支持?