Hva er en OpenGL® Vertex -buffer?
An Open Graphics Library® (OpenGL®) Vertex Buffer er et område med dataminne ofte plassert direkte på et grafikkort som gir veldig rask tilgang til en rekke toppunkter og deres egenskaper. Oftest brukes en OpenGL® Vertex-buffer til å lage et Vertex Buffer-objekt (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 -bufferen skal brukes som en del av en VBO, må grafikkortet som brukes, støtte den spesielle OpenGL® VBO -utvidelsen for å sikre at bufferen er plassert i grafikkminnet.
På det mest grunnleggende nivået er en OpenGL® Vertex -bufferBare 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 øyeblikkelig gjengivelse av modus blir OpenGL® -kommandoer utført 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® lett kan tolke; thaT Array må deretter lagres i et spesielt minneområde kjent som en OpenGL® Vertex -buffer.
I seg selv har ikke Vertex -bufferen nødvendigvis noen spesielle attributter enn å være en komplett samling av informasjon som brukes til å tegne et objekt. Når OpenGL® Vertex -bufferen konverteres til et OpenGL® Vertex Buffer -objekt gjennom OpenGL -forlengelsen, oppstår imidlertid en spesiell hendelsesforløp for å bidra til å optimalisere tegningen av objektet som er definert i Vertex -bufferen. Nemlig er bufferen tildelt og lagret i grafikkortminne, på serversiden av klient-serveroppsettet OpenGL®-bruk. 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 enhver annen datatype.