Closed Maghin closed 2 years ago
Closes #2
Closes #4
Il y a des lignes de code en commentaire, c'est normal ?
Je me posais la question de retirer les glBindBuffer superflux. Pour le coup je n'ai pas eu de problèmes donc on peux retirer les 3 lignes commentées. Sauf erreur dans ma compréhension c'est le but du VERTEX_ARRAY : se souvenir de ce qui est Bind comme buffer :
1 - Bind VERTEX_ARRAY Bind VERTEX_BUFFER Bind ELEMENT_BUFFER
2 - unBind VERTEX_ARRAY = implique > unBind VERTEX_BUFFER + unBind ELEMENT_BUFFER
3 - Bind VERTEX_ARRAY = implique > Bind VERTEX_BUFFER + Bind ELEMENT_BUFFER
Par conséquence si :
4 - Bind VERTEX_ARRAY unBind VERTEX_BUFFER unBind ELEMENT_BUFFER unBind VERTEX_ARRAY
5 - Bind VERTEX_ARRAY => là on a plus nos buffer, il faut les bind à nouveau.
Donc pour ne pas avoir à les bind à chaque fois, il suffit de ne pas le Unbind avant le VERTEX_ARRAY. Par contre pour la destruction il faut bien passer les glDeleteBuffers, pas de changement de ce coté là.
Allow to draw indexed vertexbuffer.
The element buffer "ebo" is included in the DImension3D VertexBuffer object. It is binded automatically via the ArrayBuffer (as well as the vbo).
An exemple to test the code is available with the mesh "CubeIndexed". It's drawable.
Test code using the squeleton project :
Result :![image](https://user-images.githubusercontent.com/19150723/168419776-95a6a925-5ba6-46ae-acb5-2940259d6d10.png)
Another example displaying a terrain :![Heighmap](https://user-images.githubusercontent.com/19150723/168419810-39b56f32-929f-47ef-b16b-4f08ff534d68.PNG)