Skip to main content

Wat is een opengl reg;VBO?

Bij gebruik van de Open Graphics Library (OpenGL reg;) Computer grafische bibliotheken voor computerprogrammering, een hoekpuntbufferobject (VBO) is een gegevensstructuur waarmee een driedimensionaal (3D) object kan worden geconstrueerd en opgeslagen in het geheugen van de grafische kaart of grafische hardware.Dit maakt een opengl reg; mogelijkVBO om zeer snel te worden weergegeven en om veel minder systeembronnen te gebruiken dan andere technieken die onmiddellijke modustekening gebruiken.Naast de winst in snelheid en de vermindering van de grafische overhead, een OpenGL reg;VBO is ook een dynamische gegevensstructuur mdash;In tegenstelling tot een opengl reg;Display List Mdash;Dat kan worden gewijzigd zodra het in het geheugen is.Het concept van een opengl reg;VBO begon eigenlijk met hardwarefabrikanten die oorspronkelijk zijn opgenomen mdash;Onder verschillende namen mdash;een vergelijkbaar type functionaliteit als een uitbreiding van de OpenGL reg;Bibliotheken die later werden gestandaardiseerd door de OpenGL Architecture Review Board (ARB).

An OpenGL VBO is eigenlijk een combinatie van twee andere soorten OpenGL data structuren.Het omvat de basisfunctionaliteit van een hoekpuntreeks, omdat de informatie voor de geometrie mdash;inclusief de hoekpuntcoördinaten, normalen en kleur mdash;kunnen allemaal worden opgeslagen in een gestructureerde array die kan worden doorgegeven aan OpenGL reg;om te verwerken.In tegenstelling tot een hoekpuntreeks echter, een OpenGL reg;VBO wordt opgeslagen aan de serverzijde van de renderer en hoeft niet constant toegang te krijgen tot de clientzijde voor de hoekpuntinformatie.

Door de VBO in grafisch geheugen te laten worden opgeslagen, neemt het ook een aantal eigenschappen van een weergavelijst aan.Het grote verschil is dat een opengl reg;VBO kan worden gewijzigd en een weergavelijst kan dat niet.Bovendien wordt de VBO niet noodzakelijkerwijs in het grafische geheugen gekopieerd als een weergavelijst, dus er hoeft slechts één gegevensstructuur in het geheugen aanwezig te zijn.

Wanneer een OpenGL reg;VBO wordt eindelijk weergegeven, de afstand tot het grafische geheugen waarin het wordt opgeslagen en de grafische verwerkingseenheid (GPU) is erg klein, waardoor zeer snelle rasterisatie mogelijk is zonder dat u eerst langzamere systeemhardware hoeft te bewegen.In sommige gevallen wordt het gebruik van VBO's echter niet ondersteund door grafische kaarthardware.Dit kan leiden tot programmeringsproblemen die toegevoegde voordelen verwijderen van het gebruik van een VBO, of een programma dat niet compatibel zal zijn met sommige grafische kaarten.

Er zijn enkele methoden die kunnen helpen om te optimaliseren hoe een OpenGL reg;VBO wordt behandeld bij gebruik.Een daarvan is om hints te geven aan de grafische kaart, of om opengl reg;, om te helpen bepalen waar de VBO zich in het geheugen moet bevinden.Afhankelijk van de verstrekte hints, kan de VBO direct worden opgeslagen in grafisch geheugen op de grafische kaart, of kan het worden opgeslagen in het belangrijkste willekeurige toegangsgeheugen (RAM) van het systeem, indien nodig geacht.