頂点配列オブジェクト(VAO)を生成/作成する際のポイントと混同しています。
glGenVertexArrays(GLsizei n, GLuint *arrays);
と
glBindVertexArray(GLuint);
頂点などのバッファオブジェクトを作成し、VAOを作成する場合と作成しないglVertexAttribPointer
場合でそのバッファオブジェクトを記述できるためです。glEnableVertexAttribArray
私の質問は、バッファオブジェクト内のデータを記述するために実際にVAOを作成する必要がない場合、OpenGL SuperBible 5edなどのソースにVBOの作成時にVAOを作成するための呼び出しが含まれるのはなぜですか?それらは私がまだ発見していないより高度なトピックにのみ使用されていますか、私は完全に混乱していますか?
また、VBOのウィキペディアのエントリを読んでいるときにこの質問に最初に遭遇しました。サンプルコードにはへの呼び出しは含まれていませんがglGenVertexArrays()
、データはで記述されていますglVertexAttribPointer()
。Wiki VBOエントリ-VAO
がどのような理由で作成される例?