複数のメッシュを含む単一の VBO を表すために単一の VAO を使用しようとしています。今私は持っています:
glVertexArrayElementBuffer ( vertexArray, buffer );
glVertexArrayVertexBuffer ( vertexArray, positionLocation, buffer, 0, 3 * sizeof ( float ) );
glVertexArrayVertexBuffer ( vertexArray, normalLocation, buffer, (objectVertexBytes + objectIndexBytes), 3 * sizeof ( float ) ); // Issue 2
ソースの詳細はこちら: http://pastebin.com/PDuk3fDu
私の問題は主にスニペットの最後の行にあると思います。
同じ VBO に 2 つの異なるメッシュを詰め込むことができると思いましたか? バッファ ソースを設定するときに、一見 1 つの状態しか設定できない場合、どのようにそれが可能でしょうか?
バインディングは比較的高価な作業であるため、VBOごとに1つのVAOを持つことは非常に非効率的であると読んだため、私はこの問題を経験しています。また、同様のニーズを持つメッシュを同じ VBO に保存することをお勧めします。