Nach dem, was ich gelesen habe, scheinen VBOs nur der Leistung zu dienen.
Ich arbeite an einem sehr rudimentären Lernprojekt in lwjgl und versuche nur herauszufinden, in welche erweiterten Funktionen der Bibliothek ich mich vertiefen sollte und welche Verwendung sie haben.
Mein Verständnis ist, dass VBOs es einer Person ermöglichen, Scheitelpunkte im VRAM zu behalten, während sie gerade nicht in einer Szene gezeichnet werden. In meinem Fall zeichne ich nur Quads und Leistung ist wahrscheinlich überhaupt kein Problem, aber ich versuche zusammenzufügen, was unter der Haube passiert. Wenn ich Quads direkt zeichne, zeichne ich aus dem CPU-Speicher, richtig? Wenn ich keine Sichtbarkeitsprüfungen durchführe, bedeutet das dann, dass ich absolut alles in der "Szene" rendere, unabhängig davon, ob es in Sicht ist? Sind VBOs eine Möglichkeit, Objekte zu speichern und nur das zu rendern, was benötigt wird?
OpenGL-Array-Puffer (= das, was wir VBO nennen) dienen einem einzigen Zweck: Bewahren Sie Ihre Geometriedaten im GPU-Speicher und nicht im Client-Speicher auf, damit Sie sie nicht bei jedem Frame erneut senden müssen.
So einfach ist das :-)
quelle