Qu'est-ce qu'un VBO OpenGL®?
Lorsque vous utilisez les bibliothèques d'ordinateurs graphiques Open Graphics Library® (OpenGL®) pour la programmation informatique, un objet de tampon vertex (VBO) est une structure de données qui permet à un objet tridimensionnel (3D) de construire et de stocker dans la mémoire de la carte graphique ou du matériel graphique. Cela permet à un VBO OpenGL® d'être rendu très rapidement et d'utiliser beaucoup moins de ressources système que les autres techniques qui utilisent le dessin de mode immédiat. En plus des gains de vitesse et de la réduction des frais généraux graphiques, un VBO OpenGL® est également une structure de données dynamique - contrairement à une liste d'affichage OpenGL® - qui peut être modifiée une fois en mémoire. Le concept d'un VBO OpenGL® a en fait commencé avec des fabricants de matériel qui incluent à l'origine - sous différents noms - un type de fonctionnalité similaire à une extension des bibliothèques OpenGL® qui a été standardisée plus tard par le comité d'examen de l'architecture OpenGL® (ARB).
Un VBO OpenGL® est essentiellement uncombination of two other types of OpenGL® data structures. Il englobe la fonctionnalité de base d'un tableau de sommet, car les informations pour la géométrie - y compris les coordonnées, les normales et les couleurs du sommet du sommet - peuvent tous être stockés dans un tableau structuré qui peut être transmis à OpenGL® pour le traitement. Contrairement à un tableau de vertex, cependant, un VBO OpenGL® est stocké du côté serveur du rendu et n'a pas besoin d'accéder constamment au côté client pour les informations du sommet.
By allowing the VBO to be stored in graphics memory, it also takes on some of the properties of a display list. The major difference is that an OpenGL® VBO can be modified and a display list cannot. De plus, le VBO n'est pas nécessairement copié dans la mémoire graphique comme une liste d'affichage serait donc une seule structure de données doit être présente en mémoire.
When an OpenGL® VBO is finallyRendu, la distance de la mémoire graphique dans laquelle il est stocké et l'unité de traitement graphique (GPU) est très petite, permettant une rasterisation très rapide sans avoir besoin de se déplacer dans le matériel système plus lent en premier. In some instances, however, the use of VBOs is not supported by graphics card hardware. Cela peut entraîner des problèmes de programmation qui suppriment les avantages supplémentaires de l'utilisation d'un VBO, ou d'un programme qui sera incompatible avec certaines cartes graphiques.
There are some methods that can help to optimize how an OpenGL® VBO is treated when used. One of these is to provide hints to the graphics card, or to OpenGL®, to help determine where the VBO should be located in memory. Selon les conseils fournis, le VBO peut être stocké directement dans la mémoire graphique sur la carte graphique, ou peut être stocké dans la mémoire d'accès aléatoire principale (RAM) du système, si nécessaire.