Qu'est-ce qu'un tampon Vertex OpenGL®?
Un tampon de sommets Open Graphics Library® (OpenGL®) est une zone de mémoire d'ordinateur souvent située directement sur une carte graphique, qui permet un accès très rapide à un tableau de sommets et à leurs propriétés. Le plus souvent, un tampon de sommet OpenGL® est utilisé pour créer un objet de tampon de sommet (VBO), permettant aux objets d'une scène tridimensionnelle (3D) d'être restitués dans une liste d'affichage et non en mode immédiat. Parfois, cependant, un tampon de vertex peut être utilisé en dehors d'un VBO pour stocker des informations sur un objet ou pour faciliter les transformations sur des modèles complexes. Il convient de noter qu’un tampon de sommet n’a pas besoin d’être situé dans la mémoire de la carte graphique, car il peut être attribué comme toute structure de données. Si le vertex buffer OpenGL® doit être utilisé dans le cadre d'un VBO, la carte graphique utilisée doit prendre en charge l'extension spéciale OpenGL® VBO pour garantir que le tampon est placé dans la mémoire graphique.
Au niveau le plus élémentaire, un tampon de sommet OpenGL® n’est qu’un simple tampon, une zone de mémoire allouée dans laquelle des données peuvent être stockées. Il devient un tampon de sommets lorsqu'un tableau de sommets est stocké dans celui-ci. Un tableau de sommets OpenGL® est un tableau de structures de données qui définit toutes les propriétés de sommets individuels. Ces informations peuvent inclure les emplacements X, Y et Z du sommet dans la scène 3D, la couleur du sommet, la normale et d’autres propriétés.
En mode de rendu immédiat, les commandes OpenGL® sont exécutées directement car elles sont appelées depuis un programme. Dans ces cas, il est inutile d'avoir un tableau de sommets, car les commandes permettant de placer et de dessiner un sommet peuvent être directement transmises au matériel, bien que cela puisse entraîner de graves problèmes de performances. Pour un rendu en mode non immédiat, les informations relatives à un objet ou à un modèle 3D doivent tout d'abord être placées dans un tableau de sommets afin que sa structure soit facilement interprétable par OpenGL®. ce tableau doit ensuite être stocké dans une zone spéciale de la mémoire appelée tampon de vertex OpenGL®.
En soi, le vertex buffer n'a pas nécessairement d'attributs spéciaux autres que celui d'être une collection complète d'informations utilisée pour dessiner un objet. Cependant, lorsque l'extension OpenGL® vertex buffer est convertie en un objet tampon OpenGL® vertex buffer via l'extension OpenGL, une séquence d'événements spéciale se produit afin d'optimiser le dessin de l'objet défini dans la mémoire tampon de vertex. À savoir, la mémoire tampon est allouée et stockée dans la mémoire de la carte graphique, côté serveur de la configuration client-serveur utilisée par OpenGL®. Certains calculs peuvent également être effectués à l’avance sur le VBO afin qu’il soit rendu aussi rapidement que possible. En dehors d'un VBO, un tampon de sommets normal ne reçoit généralement pas ce traitement et peut être attribué et utilisé comme n'importe quel autre type de données.