J'ai un problème de compréhension de l'association entre VAO et le tampon lié à GL_ELEMENT_ARRAY_BUFFER
(appelons-le EBO). Je dois savoir qu'il fait partie de l'état VAO, mais diffère des tampons utilisés avec les appels glVertexAttribPointer
(ces tampons sont simplement mémorisés par VAO comme stockage d'attributs omettant de les lier - si j'ai bien compris).
Dans this discussion, il est affirmé:Association VAO et GL_ELEMENT_ARRAY_BUFFER
Contrairement GL_ARRAY_BUFFER, un magasin de VAO le courant de liaison pour GL_ELEMENT_ARRAY_BUFFER. L'appel de glBindBuffer (GL_ELEMENT_ARRAY_BUFFER) stocke une référence au tampon spécifié dans l'objet VAO lié. glDrawElements() etc prend les indices de vertex du buffer stocké dans le VAO actuellement lié. Ainsi, la commutation entre les VAO bascule entre les tableaux d'éléments.
Mais dois-je appeler glBindBuffer(GL_ELEMENT_ARRAY_BUFFER)
entre lier et délier de VAO pour vous assurer qu'il va « sauver » dans son état ou VAO prendra juste EBO actuellement lié quand VAO est créé?
La réponse citée ci-dessus ne me dit pas si VAO sait juste (en tant que tampons de stockage d'attributs) quels indices de tampons (glDrawElements
) doivent être pris ou VAO lie-t-il le bon EBO quand VAO est lié?
modifier: La première de mes questions a été répondue here, cependant je crois que le deuxième a été répondu par @ Rabbid76.
Copie possible de [objets VAO et éléments de tampon d'élément] (https://stackoverflow.com/questions/33863426/vaos-and-element-buffer-objects) –