私は今日、このチュートリアルから OpenGL を学び始めたばかりです: http://openglbook.com/the-book/
第 2 章では、三角形を描き、VAO 以外のすべてを理解しました (この頭字語は OK ですか?)。チュートリアルには次のコードがあります。
glGenVertexArrays(1, &VaoId);
glBindVertexArray(VaoId);
コードが必要であることは理解していますが、それが何をするのかわかりません。この時点以降は (破棄する場合を除いて) VaoId を使用したことはありませんが、VaoId がないとコードは機能しません。これはバインドする必要があるためだと思いますが、理由はわかりません。この正確なコードは、すべての OpenGL プログラムの一部である必要がありますか? チュートリアルでは、VAO を次のように説明しています。
頂点配列オブジェクト (または VAO) は、頂点属性が頂点バッファー オブジェクト (または VBO) に格納される方法を記述するオブジェクトです。これは、VAO が頂点データを格納する実際のオブジェクトではなく、頂点データの記述子であることを意味します。頂点属性は、glVertexAttribPointer 関数と、その 2 つの姉妹関数 glVertexAttribIPointer および glVertexAttribLPointer によって記述できます。最初のものについては以下で説明します。
VAO が頂点属性をどのように記述しているかわかりません。私はそれらを決して説明していません。glVertexAttribPointer から情報を取得しますか? きっとこれだと思います。VAO は単に glVertexAttribPointer からの情報の宛先ですか?
ちなみに、私がフォローしているチュートリアルは受け入れられますか? 注意すべきことや、従うべきより良いチュートリアルはありますか?