1

コードとは別に、このエラーの内容を知りたいです:

two vertex attribute variables (named a and n) were assigned to the same generic vertex attribute

これは、Ubuntu で Nsight を使用して GLSL (変換フィードバックの実験) で頂点シェーダーをコンパイルしているときに遭遇しました。つまり、このエラーの考えられる原因はどれですか?

4

1 に答える 1

1

2 つの異なる頂点属性を OpenGL コードの同じ場所にバインドしているようです。

たとえば、属性をバインドする場合、通常は次のようにします。

glBindAttribLocation(program, 0, "AttributeName");

あなたがしなければならないことは、両方の属性に同じインデックスを使用することです:

glBindAttribLocation(program, 0, "AttributeNameOne");
glBindAttribLocation(program, 0, "AttributeNameTwo");

別の一般的な頂点属性の場所を生成すると、これは表示されなくなります。任意の非負の数値を (狭い範囲で) 使用できます。

また、プログラムをリンクする前に glBindAttribLocation を呼び出す必要があることに注意してください。

于 2012-10-10T16:16:42.193 に答える