Hvad er en OpenGL® Vertex -buffer?

Et åbent Graphics Library® (OpenGL®) Vertex Buffer er et område med computerhukommelse, der ofte findes direkte på et grafikkort, der giver meget hurtig adgang til en række hjørner og deres egenskaber. Oftest bruges en OpenGL® Vertex-puffer til at oprette et Vertex Buffer-objekt (VBO), hvilket gør det muligt at gengives objekter inden for en tredimensionel (3D) scene som en del af en displayliste og ikke i øjeblikkelig tilstand. Lejlighedsvis kan en toppunktbuffer imidlertid bruges uden for en VBO til at gemme information om et objekt eller til at hjælpe med at gøre transformationer lettere på komplekse modeller. Det skal bemærkes, at en toppunktbuffer ikke behøver at være placeret i grafikkorthukommelsen, fordi det kan tildeles som enhver datastruktur. Hvis OpenGL® Vertex -pufferen skal bruges som en del af en VBO, skal det grafikkort, der bruges, understøtte Special OpenGL® VBO -udvidelsen for at sikre,Bare en simpel buffer, et tildelt hukommelsesområde, hvor data kan gemmes. Det bliver en toppunktbuffer, når en toppunktarray opbevares i den. En OpenGL® Vertex -array er en række datastrukturer, der definerer alle egenskaber ved individuelle vertikater. Disse oplysninger kan omfatte X-, Y- og Z -placeringer af toppunktet i 3D -scenen, farven på toppunktet, de normale og andre egenskaber.

I gengivelse af øjeblikkelig tilstand udføres OpenGL® -kommandoer direkte, som de kaldes inden for et program. Det er i disse tilfælde unødvendigt at have et toppunkt -array, fordi kommandoerne til placering og tegning af et toppunkt kan gives direkte til hardware, selvom dette kan forårsage alvorlige ydelsesproblemer. Til gengivelse af ikke-prommedeltilstand skal oplysningerne om et 3D-objekt eller model først placeres i et toppunkt-array, så den har en struktur, som OpenGL® let kan fortolke; thaT Array skal derefter opbevares i et specielt hukommelsesområde kendt som en OpenGL® Vertex -buffer.

I sig selv har Vertex -bufferen ikke nødvendigvis nogen andre specielle egenskaber end at være en komplet samling af oplysninger, der bruges til at tegne et objekt. Når OpenGL® Vertex -bufferen omdannes til et OpenGL® Vertex -pufferobjekt gennem OpenGL -udvidelsen, forekommer der imidlertid en speciel sekvens af begivenheder for at hjælpe med at optimere tegningen af ​​det objekt, der er defineret i toppunktbufferen. Nemlig er bufferen tildelt og gemt i grafikkorthukommelse på serversiden af ​​klient-serveropsætningen OpenGL® bruger. Nogle beregninger kan også udføres på forhånd på VBO, så det kan gengives så hurtigt som muligt. Uden for en VBO modtager en almindelig toppunktbuffer normalt ikke denne behandling og kan tildeles og bruges som enhver anden datatype.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?