私は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.