我正在使用openGL。我的顶点和片段着色器在相互使用时可以正常工作,但是当我添加镶嵌着色器时,据说以前在程序中识别的制服在着色器中没有被引用。
这是我不知道的特殊性吗?
这是在我的 .cpp 中:
program = new Shader("tessVshader.glsl", "tessFshader.glsl", "tessGshader.glsl");
// Removed tesselation specific just to try to compile w/ geo shader
...
program->SetUniform("Modelview", model * view);
program->SetUniform("NormalMatrix", normalMatrix);
这是 tessGshader.glsl 的第一行:
uniform mat4 Modelview;
uniform mat3 NormalMatrix;
layout(triangles) in;
layout(triangle_strip, max_vertices = 3) out;
这是输出:
Uniform Modelview is not referenced in the shaders.