長方形の 2 つのパッチを描画しようとしています (テッセレーション用)。それらを 0,0 から 1,1 に、その他を 1,0 から 2,1 に描画したいと考えています。
GL_PATCHES を使用してクワッドをグラフィックス パイプラインに送信しています
同次座標の私の頂点データは
float vertices[32] = {
0.0, 0.0, 0.0, 1.0, //1st rec
1.0, 0.0, 0.0, 1.0,
1.0, 1.0, 0.0, 1.0,
0.0, 1.0, 0.0, 1.0,
1.0, 0.0, 0.0, 1.0, //2nd rec
2.0, 0.0, 0.0, 1.0,
2.0, 1.0, 0.0, 1.0,
1.0, 1.0, 0.0, 1.0
};
そしてC++コードで
glPatchParameteri(GL_PATCH_VERTICES, 4);
glDrawArraysInstanced(GL_PATCHES, 0, 4, 2);
しかし、画面上に 0,0 から 1,1 までの長方形パッチが 1 つしか表示されません。2番目の長方形を描画しない理由がわかりません
私のテッセレーション評価シェーダーは
vec4 vert= vec4(0.0, 0.0, 0.0, 1.0);
vert.x = gl_in[0].gl_Position.x + gl_TessCoord.x;
vert.y = gl_in[0].gl_Position.y + gl_TessCoord.y;
この頂点を vec4 に変換して gl_Position に渡します