Skip to main content

Was ist ein OpenGL VBO?

Bei Verwendung der Open Graphics Library (OpenGL ) Computergrafikbibliotheken für Computerprogrammierung, ein Vertex-Pufferobjekt (VBO) ist eine Datenstruktur, mit der ein dreidimensionales (3D) -Objekt konstruiert und im Speicher der Grafikkarten- oder Grafikhardware gespeichert und gespeichert werden kann.Dies ermöglicht ein OpenGL VBO, um sehr schnell gerendert zu werden und weit weniger Systemressourcen zu verwenden als andere Techniken, die die sofortige Moduszeichnung verwenden.Zusätzlich zu den Geschwindigkeitsergebnissen und der Verringerung des Grafikaufwandes ist ein OpenGL VBO ist auch eine dynamische Datenstruktur mdash;Im Gegensatz zu einem OpenGL Anzeigeliste mdash;Das kann geändert werden, sobald es im Speicher ist.Das Konzept eines OpenGL VBO begann tatsächlich mit Hardware -Herstellern, die ursprünglich eingeschlossen wurden.unter verschiedenen Namen mdash;eine ähnliche Art von Funktionalität als Erweiterung des OpenGL Bibliotheken, die später durch die OpenGL Architecture Review Board (ARB).

An OpenGL VBO ist im Grunde eine Kombination aus zwei anderen Arten von OpenGL Datenstrukturen.Es umfasst die grundlegende Funktionalität eines Scheitelpunktarrays, da die Informationen für die Geometrie Mdash;einschließlich der Vertex -Koordinaten, Normalen und Farbe Mdash;kann alle in einem strukturierten Array gespeichert werden, das an OpenGL Reg übergeben werden kann;zum Bearbeiten.Im Gegensatz zu einem Scheitelpunktarray jedoch ein OpenGL VBO wird auf der Serverseite des Renderers gespeichert und muss nicht ständig auf die Client -Seite für die Vertex -Informationen zugreifen..Der Hauptunterschied besteht darin, dass ein OpenGL VBO kann geändert werden und eine Anzeigeliste kann nicht.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 wird schließlich gerendert, der Abstand vom Grafikspeicher, in dem er gespeichert wird, und die Grafikverarbeitungseinheit (GPU) ist sehr gering, was eine sehr schnelle Rasterisierung ermöglicht, ohne dass sich zuerst eine 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 alle zusätzlichen Vorteile aus der Verwendung eines VBO oder eines Programms entfernen, das mit einigen Grafikkarten nicht kompatibel ist.

Es gibt einige Methoden, mit denen Sie optimieren können, wie ein OpenGL VBO wird bei Verwendung behandelt.Eine davon besteht darin, Hinweise auf die Grafikkarte oder auf 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.