Skip to main content

Hva er en OpenGL VBO?

Når du bruker Open Graphics Library (OpenGL ) Datagrafikkbiblioteker for dataprogrammering, et Vertex Buffer-objekt (VBO) er en datastruktur som lar et tredimensjonalt (3D) objekt konstrueres og lagres i minnet til grafikkortet eller grafikkmaskinvaren.Dette tillater en OpenGL VBO skal gjengis veldig raskt og å bruke langt færre systemressurser enn andre teknikker som bruker øyeblikkelig modus.I tillegg til gevinstene i hastighet og reduksjon i grafikkoverhead, en OpenGL VBO er også en dynamisk datastruktur MDASH;I motsetning til en OpenGL Display List Mdash;som kan endres når det er i minnet.Konseptet med en OpenGL VBO startet faktisk med maskinvareprodusenter som opprinnelig inkluderte mdash;Under forskjellige navn mdash;en lignende type funksjonalitet som en utvidelse av OpenGL Biblioteker som senere ble standardisert av OpenGL Architecture Review Board (ARB).

En OpenGL VBO er i utgangspunktet en kombinasjon av to andre typer OpenGL datastrukturer.Det omfatter den grunnleggende funksjonaliteten til en toppunktgruppe, fordi informasjonen for geometrien mdash;inkludert toppunktkoordinater, normaler og farge og mdash;kan alle lagres i et strukturert utvalg som kan sendes til OpenGL for behandling.I motsetning til et vertex -matrise, en OpenGL VBO er lagret på serversiden av gjengivelsen og trenger ikke å stadig få tilgang til klientsiden for toppunktinformasjonen.

..Den største forskjellen er at en OpenGL VBO kan endres og en visningsliste kan ikke.I tillegg blir ikke VBO nødvendigvis kopiert til grafikkminnet som en visningsliste vil være, så bare en datastruktur må være til stede i minnet. Når en OpenGL VBO er endelig gjengitt, avstanden fra grafikkminnet der det lagres i og grafikkbehandlingsenheten (GPU) er veldig liten, noe som gir veldig rask rasterisering uten å måtte gå gjennom langsommere systemmaskinvare først.I noen tilfeller støttes imidlertid ikke bruk av VBO -er av grafikkortmaskinvare.Dette kan føre til programmeringsproblemer som fjerner eventuelle ekstra fordeler ved å bruke en VBO, eller et program som vil være uforenlig med noen grafikkort. Det er noen metoder som kan bidra til å optimalisere hvordan en OpenGL REG;VBO blir behandlet når den brukes.En av disse er å gi hint til grafikkortet, eller til OpenGL , for å bestemme hvor VBO skal være plassert i minnet.Avhengig av antydningene som følger med, kan VBO lagres direkte i grafikkminne på grafikkortet, eller kan lagres i det viktigste tilfeldige tilgangsminnet (RAM) i systemet, hvis det anses som nødvendig.