mem*_*eme 1 c++ opengl glsl opengl-3 opengl-4
在我的着色器中,我喜欢使用这样的语法:
layout (location = 0) in vec3 aPos;
所以,我可以只使用索引0中glVertexAttribPointer和这样的,节省了努力glGetAttribLocation通话。我想对uniform价值观做同样的事情,但如果我这样做
layout (location = 2) uniform float offset;
Run Code Online (Sandbox Code Playgroud)
我的顶点着色器无法编译。有没有办法实现相同的行为而不使用glGetUniformLocation?
OpenGL 4.3 或 ARB_explicit_uniform_location 扩展允许您使用该语法在着色器中指定统一位置。所以你的着色器#version需要是 430 或者你需要激活你的着色器中的扩展才能使用这个语法。