OpenGL ES 2 ile bazı testler yapıyorum ve bazı sorularım var, mevcut programım şöyle:
Init
-------
-> create index buffer
-> fill index buffer glBufferData …
-> create vertex buffer
-> fill vertex buffer glBufferData …
Draw
-------
1. Apply vertex buffer
-> Bind VAO
-> bind vertex buffer
- enable attributs (glVertexPointer, …)
-> unbind vertex buffer
-> Unbind VAO
-> Bind VAO
3. Apply index buffer
4. Draw
Sorun
Verilen kod çökmesi, bazı araştırmalar sonra nedenini anladım: init bölümünde benim dizin arabelleğini ("dizin arabelleği glBufferData doldurun" sonra) bağlamak veya ilk "Bind VAO" önce onu bağlamak gerekir
Sorularım:
- Dizin arabelleğimi VAO'ya (VAO hisse senedi dizin arabelleği) koyabilir miyim?
- Her güncellemeden sonra arabellekleri ayırmak zorunda mıydım (glBufferData)?
Benim uygulamada her çerçeve (Exemple: Parçacıklar) güncellenen bazı tamponlar var bu yüzden böyle bir OpenGL yığını var:
-> bind buffer 1
-> update buffer 1
-> close buffer 1
-> bind buffer 1
-> draw
İlk 3 satır, son iki çizim nesnesi olan Vertex arabelleğini günceller ve bu şöyle bir şey olmalıdır:
-> bind buffer 1
-> update buffer 1
-> draw
Teşekkürler