2
と暗黙的にサイズのアレイIはGLSL 4.0コアジオメトリシェーダで、次のコード・セグメントを有すること:GLSL:アクセス関数パラメータ
void pushVertex(const int i)
{
gl_Position = gl_in[i].gl_Position;
// Some other stuff
EmitVertex();
}
後、私は基本的にそうでpushVertex(0); pushVertex(1);
を呼び出して。
これは実際にNvidiaドライバを搭載したWindows上で動作しますが、MaxOSXは暗黙的にサイズの指定された配列に間接的なインデックスを投げます。回避策に関するアイデアはありますか?
私はそれをマクロで解決しました。 GLSLがCプリプロセッサの範囲でマクロをサポートしていることは、実際にはわかりませんでした。あなたは後に 'else'を削除したいかもしれません。 – Marius
末尾の 'else'は、マクロの使用後に'; 'を吸収するためにそこにあります... –
ああ大丈夫ですが、elseがなければ動作しませんか?中括弧で囲まれていないとうまくいきませんか? – Marius