Saya baru mulai mempelajari OpenGL hari ini dari tutorial ini: http://openglbook.com/the-book/
Saya sampai pada bab 2, di mana saya menggambar segitiga, dan saya memahami segalanya kecuali VAO (apakah akronim ini OK?). Tutorial memiliki kode ini:
glGenVertexArrays(1, &VaoId);
glBindVertexArray(VaoId);
Meskipun saya memahami bahwa kode itu diperlukan, saya tidak tahu apa fungsinya. Meskipun saya tidak pernah menggunakan VaoId melewati titik ini (kecuali untuk menghancurkannya), kode tidak akan berfungsi tanpanya. Saya berasumsi ini karena itu harus terikat, tapi saya tidak tahu mengapa. Apakah kode persis ini hanya perlu menjadi bagian dari setiap program OpenGL? Tutorial menjelaskan VAO sebagai:
Objek Array Vertex (atau VAO) adalah objek yang menjelaskan bagaimana atribut simpul disimpan dalam Objek Penyangga Vertex (atau VBO). Ini berarti bahwa VAO bukanlah objek sebenarnya yang menyimpan data simpul, melainkan deskriptor dari data simpul tersebut. Atribut vertex dapat dijelaskan oleh fungsi glVertexAttribPointer dan dua fungsi kembarnya glVertexAttribIPointer dan glVertexAttribLPointer, yang pertama akan kita bahas di bawah.
Saya tidak mengerti bagaimana VAO mendeskripsikan atribut vertex. Saya belum menjelaskannya dengan cara apa pun. Apakah itu mendapatkan informasi dari glVertexAttribPointer? Saya kira ini pasti itu. Apakah VAO hanyalah tujuan untuk informasi dari glVertexAttribPointer?
Di samping catatan, apakah tutorial yang saya ikuti dapat diterima? Apakah ada hal yang harus saya perhatikan atau tutorial yang lebih baik untuk diikuti?