Skip to main content

Hvad er en OpenGL Vbo?

Når du bruger Open Graphics Library (OpenGL REG;) Computergrafikbiblioteker til computerprogrammering, et Vertex Buffer-objekt (VBO) er en datastruktur, der gør det muligt at konstruere et tredimensionelt (3D) objekt og gemmes i hukommelsen af grafikkortet eller grafikhardware.Dette tillader en OpenGL VBO skal gengives meget hurtigt og bruge langt færre systemressourcer end andre teknikker, der bruger øjeblikkelig tilstandstegning.Foruden gevinsterne i hastighed og reduktion i grafikomkostninger, en OpenGL VBO er også en dynamisk datastruktur mdash;I modsætning til en OpenGL Display List Mdash;Det kan ændres, når det er i hukommelsen.Begrebet en opengl reg;VBO startede faktisk med hardwareproducenter, der oprindeligt inkluderede mdash;under forskellige navne mdash;En lignende type funktionalitet som en udvidelse af OpenGL Biblioteker, der senere blev standardiseret af OpenGL Architecture Review Board (ARB).

en OpenGL VBO er dybest set en kombination af to andre typer OpenGL Datakonstruktioner.Det omfatter den grundlæggende funktionalitet af en toppunktarray, fordi informationen til geometrien mdash;inklusive toppunktkoordinaterne, normaler og farve mdash;kan alle opbevares i en struktureret matrix, der kan overføres til OpenGL til behandling.I modsætning til en toppunktarray, er en OpenGL VBO gemmes på serversiden af rendereren og behøver ikke konstant at få adgang til klientsiden for toppunktoplysningerne.

Ved at lade VBO gemmes i grafikhukommelse, tager det også nogle af egenskaberne ved en displayliste.Den største forskel er, at en OpenGL VBO kan ændres, og en displayliste kan ikke.Derudover kopieres VBO ikke nødvendigvis i grafikhukommelsen som en displayliste ville være, så kun en datastruktur skal være til stede i hukommelsen.

Når en OpenGL REG;VBO er endelig gengivet, afstanden fra den grafikhukommelse, hvori den er gemt, og grafikbehandlingsenheden (GPU) er meget lille, hvilket giver mulighed for meget hurtig rasterisering uden behov for at bevæge sig gennem langsommere systemhardware først.I nogle tilfælde understøttes imidlertid brugen af VBO'er ikke af grafikkorthardware.Dette kan føre til programmeringsproblemer, der fjerner eventuelle ekstra fordele ved at bruge en VBO eller et program, der vil være uforeneligt med nogle grafikkort.

Der er nogle metoder, der kan hjælpe med at optimere, hvordan en OpenGL REG;VBO behandles, når det bruges.En af disse er at give tip til grafikkortet eller til OpenGL , for at hjælpe med at bestemme, hvor VBO skal være placeret i hukommelsen.Afhængigt af de anførte tip, kan VBO gemmes direkte i grafikhukommelse på grafikkortet eller kan blive gemt i systemets vigtigste tilfældige adgangshukommelse (RAM), hvis det anses for nødvendigt.