Was ist ein OpenGL® VBO?
Bei der Verwendung der Computergrafikbibliotheken von Open Graphics Library® (OpenGL®) für Computerprogrammierung ist ein VBO (Vertex Puffer Object (VBO) eine Datenstruktur, mit der ein dreidimensionales (3D) -Objekt konstruiert und im Speicher der Grafikkarte oder der Grafikhardware gespeichert werden kann. Auf diese Weise kann ein OpenGL® -VBO sehr schnell gerendert werden und weit weniger Systemressourcen als andere Techniken verwendet, die die sofortige Moduszeichnung verwenden. Zusätzlich zu den Geschwindigkeitsergebnissen und der Verringerung des Grafik -Overheads ist ein OpenGL® -VBO auch eine dynamische Datenstruktur - im Gegensatz zu einer OpenGL® -Anzeigeliste -, die nach dem Speicher geändert werden kann. Das Konzept eines OpenGl® VBO begann tatsächlich mit Hardwareherstellern, die ursprünglich unter verschiedenen Namen enthalten sind - eine ähnliche Art von Funktionalität als Erweiterung der OpenGl® -Bibliotheken, die später durch das OpenGl® Architecture Review Board (ARB) standardisiert wurde.Kombination von zwei anderen Arten von OpenGl® -Datenstrukturen. Es umfasst die grundlegende Funktionalität eines Scheitelpunktarrays, da die Informationen für die Geometrie - einschließlich der Vertex -Koordinaten, Normalen und Farbe - in einem strukturierten Array gespeichert werden können, das zur Verarbeitung an OpenGl® übergeben werden kann. Im Gegensatz zu einem Vertex -Array wird jedoch ein OpenGl® VBO auf der Serverseite des Renderers gespeichert und muss nicht ständig auf die Client -Seite für die Scheitelpunktinformationen zugreifen.
Wenn der VBO im Grafikspeicher gespeichert werden kann, wird auch einige der Eigenschaften einer Anzeigeliste übernommen. Der Hauptunterschied besteht darin, dass ein OpenGL® -VBO geändert werden kann und eine Anzeigeliste nicht kann. Darüber hinaus wird der VBO nicht unbedingt in den Grafikspeicher kopiert, da eine Anzeigeliste wäre, sodass im Speicher nur eine Datenstruktur vorhanden sein muss.
Wenn ein OpenGl® VBO endlich istDie Entfernung vom Grafikspeicher, in dem er gespeichert wird, und die Grafikverarbeitungseinheit (GPU) ist sehr klein und ermöglicht eine sehr schnelle Rasterisierung, ohne dass sich zuerst die Hardware für langsamere Systemhardware bewegen muss. In einigen Fällen wird die Verwendung von VBOs jedoch nicht von Grafikkartenhardware unterstützt. Dies kann zu Programmierproblemen führen, die zusätzliche Vorteile aus der Verwendung eines VBO oder eines Programms entfernen, das mit einigen Grafikkarten nicht kompatibel ist.
Es gibt einige Methoden, mit denen bei der Verwendung ein OpenGL® -VBO behandelt wird. Eine davon besteht darin, Hinweise auf die Grafikkarte oder zum OpenGL® zu geben, um festzustellen, wo sich der VBO im Speicher befinden soll. Abhängig von den angegebenen Hinweisen kann der VBO direkt im Grafikspeicher auf der Grafikkarte gespeichert werden oder kann im Haupt -RAM -Speicher (RAM) des Systems des Systems gespeichert werden, falls dies erforderlich ist.