Vad är en OpenGL® VBO?

När du använder Open Graphics Library® (OpenGL®) datorgrafikbibliotek för datorprogrammering är ett Vertex-buffertobjekt (VBO) en datastruktur som gör att ett tredimensionellt (3D) -objekt kan konstrueras och lagras i minnet av grafikkortet eller grafikhårdvaran. Detta gör att en OpenGL® VBO kan återges mycket snabbt och använda mycket färre systemresurser än andra tekniker som använder ritning av omedelbar läge. Förutom hastighetens vinster och minskningen av grafikomslag är en OpenGL® VBO också en dynamisk datastruktur - till skillnad från en OpenGL® -visningslista - som kan ändras när den är i minnet. Konceptet med en OpenGL® VBO började faktiskt med hårdvarutillverkare som ursprungligen inkluderade - under olika namn - en liknande typ av funktionalitet som en förlängning av OpenGL® -biblioteken som senare standardiserades av OpenGL® Architecture Review Board (ARB).Kombination av två andra typer av OpenGL® -datastrukturer. Den omfattar den grundläggande funktionaliteten för en Vertex -matris, eftersom informationen för geometrien - inklusive toppunkten koordinater, normaler och färg - alla kan lagras i en strukturerad matris som kan överföras till OpenGL® för bearbetning. Till skillnad från en Vertex -array lagras emellertid en OpenGL® VBO på serversidan av renderaren och behöver inte ständigt komma åt klientsidan för toppinformationen.

Genom att låta VBO lagras i grafikminnet tar det också några av egenskaperna för en visningslista. Den största skillnaden är att en OpenGL® VBO kan modifieras och en visningslista inte kan. Dessutom kopieras VBO inte nödvändigtvis till grafikminnet som en visningslista skulle vara, så bara en datastruktur behöver vara närvarande i minnet.

När en OpenGL® VBO äntligen ärAvståndet, avståndet från grafikminnet där det lagras och grafikbehandlingsenheten (GPU) är mycket liten, vilket möjliggör mycket snabb rasterisering utan att behöva gå igenom långsammare systemhårdvara först. I vissa fall stöds emellertid inte användningen av VBO: er av grafikkortshårdvara. Detta kan leda till programmeringsproblem som tar bort eventuella fördelar med att använda ett VBO eller ett program som kommer att vara oförenligt med vissa grafikkort.

Det finns några metoder som kan hjälpa till att optimera hur en OpenGL® VBO behandlas när den används. En av dessa är att ge tips till grafikkortet, eller till OpenGL®, för att bestämma var VBO ska vara belägen i minnet. Beroende på de angivna antydningarna kan VBO lagras direkt i grafikminnet på grafikkortet, eller kan lagras i systemets huvudsakliga slumpmässiga åtkomstminne (RAM), om det anses nödvändigt.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?