Quel est le rôle de glBindVertexArrays vs glBindBuffer et quelle est leur relation?

Je suis nouveau sur OpenGL et de Programmation Graphique. J'ai lu un livre qui a été très complète et bien écrite jusqu'à présent.Cependant, j'ai atteint un point dans le code que je ne suis pas tout à fait comprendre et je voudrais faire sens de ces lignes avant de me déplacer sur.

GLuint abuffer;

glGenVertexArrays(1, &abuffer);
glBindVertexArray(abuffer);

GLuint buffer;
glGenBuffers(1, &buffer);
glBindBuffer(GL_ARRAY_BUFFER, buffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(points), points, GL_STATIC_DRAW);

Le livre explique que les trois premières lignes sont en train de créer un vertex array objet, qui est utilisé pour regrouper les données associées avec un vertex array. La deuxième ligne trouve un nom inutilisé (je suppose un entier non signé identifiant stockées dans abuffer) et le troisième ligne crée l'objet /le rend actif.

Le livre explique que la 4ème à la 7ème lignes de la création d'un tampon objet pour stocker nos données, avec la ligne 5 de nous donner un inutilisés identificateur (similaire à la ligne 2 pour le vertex array objet?), la ligne 6 de la création de la mémoire tampon, et la ligne 7 allouer suffisamment de mémoire de la CPU et de la création d'un pointeur de nos données (points) pour GL_STATIC_DRAW.

Ce que signifie il pour que l'objet soit active? Quand vous utilisez ensuite abuffer? Que signifie, pour un sommet de la matrice de regrouper les données associées, et quand les données associées à ce sommet-objet array?

Je suis confus au sujet de la relation entre abuffer et buffer. Je suis confus au sujet de ce que le sommet de la matrice de relation avec le tampon de l'objet, et à quel point cette relation est formée. Je ne suis pas sûr de savoir si elles sont en fait liées, mais elles sont présentées dans le manuel de l'un immédiatement après l'autre.

Toute aide serait appréciée. Merci.

InformationsquelleAutor DashAnimal | 2014-02-08