Skip to main content

Hva er en OpenGL Vertex -buffer?

Et åpent grafikkbibliotek og reg;(OpenGL ) Vertex Buffer er et område med dataminne som ofte ligger direkte på et grafikkort som gir veldig rask tilgang til en rekke toppunkt og deres egenskaper.Oftest en OpenGL Vertex-buffer brukes til å lage et toppunktbufferobjekt (VBO), slik at objekter i en tredimensjonal (3D) scene kan gjengis som en del av en visningsliste og ikke i umiddelbar modus.Noen ganger kan imidlertid en toppunktbuffer brukes utenfor en VBO for å lagre informasjon om et objekt eller for å gjøre transformasjoner enklere på komplekse modeller.Det skal bemerkes at en toppunktbuffer ikke trenger å være lokalisert i grafikkortminnet, fordi den kan tildeles som enhver datastruktur.Hvis OpenGL Vertex -buffer skal brukes som en del av en VBO, da må grafikkortet som brukes, støtte det spesielle OpenGL REG;VBO -utvidelse for å sikre at bufferen er plassert i grafikkminne.

på det mest grunnleggende nivået, en OpenGL Vertex -buffer er bare en enkel buffer, et tildelt minneområde der data kan lagres.Det blir en toppunktbuffer når en toppunktgruppe lagres i den.En OpenGL Vertex -matrise er en rekke datastrukturer som definerer alle egenskapene til individuelle hjørner.Denne informasjonen kan omfatte X-, Y- og Z -plasseringene til toppunktet i 3D -scenen, fargen på toppunktet, de normale og andre egenskapene.

I umiddelbar modus gjengivelse, OpenGL Kommandoer utføres direkte som de kalles fra et program.Det er unødvendig i disse tilfellene å ha en toppunktgruppe, fordi kommandoene for å plassere og tegne et toppunkt kan gis direkte til maskinvaren, selv om dette kan forårsake alvorlige ytelsesproblemer.For gjengivelse som ikke er immediate modus, trenger informasjonen om et 3D-objekt eller modell først å bli plassert i et toppunktgruppe slik at den har en struktur som OpenGL kan lett tolke;Den matrisen må deretter lagres i et spesielt minneområde kjent som en OpenGL REG;Vertex -buffer.

I seg selv har ikke toppunktbufferen noen spesielle attributter annet enn å være en komplett samling av informasjon som brukes til å tegne et objekt.Når OpenGL Vertex -buffer konverteres til en OpenGL REG;Vertex -bufferobjekt gjennom OpenGL -forlengelsen, men en spesiell hendelsesforløp skjer for å bidra til å optimalisere tegningen av objektet definert i toppunktbufferen.Nemlig er bufferen tildelt og lagret i grafikkortminne, på serversiden av klient-serveroppsettet OpenGL bruker.Noen beregninger kan også utføres på forhånd på VBO, slik at den kan gjengis så raskt som mulig.Utenfor en VBO mottar en vanlig toppunktbuffer vanligvis ikke denne behandlingen og kan tildeles og brukes som hvilken som helst annen datatype.