Co je OpenGL® Vertex Buffer?

Vyrovnávací paměť Open Graphics Library® (OpenGL®) je oblast paměti počítače často umístěná přímo na grafické kartě, která umožňuje velmi rychlý přístup k celé řadě vrcholů a jejich vlastnostem. Nejčastěji se používá vyrovnávací paměť OpenGL® k vytvoření objektu vyrovnávací paměti vrcholů (VBO), který umožňuje vykreslování objektů v trojrozměrné (3D) scéně jako součást seznamu zobrazení a ne v okamžitém režimu. Občas však může být vyrovnávací paměť vrcholu použita mimo VBO k ukládání informací o objektu nebo k usnadnění transformace na komplexních modelech. Je třeba poznamenat, že vyrovnávací paměť vrcholu nemusí být umístěna v paměti grafické karty, protože může být přidělena jako jakákoli struktura dat. Pokud bude vertexový buffer OpenGL® používán jako součást VBO, musí použitá grafická karta podporovat speciální rozšíření OpenGL® VBO, aby bylo zajištěno, že je buffer umístěn do grafické paměti.

Na nejzákladnější úrovni je vyrovnávací paměť OpenGL® pouze jednoduchá vyrovnávací paměť, alokovaná oblast paměti, do které lze ukládat data. Když je v něm uloženo pole vrcholů, stává se vrcholem vyrovnávací paměti. Vrcholové pole OpenGL® je pole datových struktur, které definuje všechny vlastnosti jednotlivých vrcholů. Tyto informace mohou zahrnovat umístění X, Y a Z vrcholu ve 3D scéně, barvu vrcholu, normální a další vlastnosti.

Při okamžitém vykreslování režimu jsou příkazy OpenGL® prováděny přímo tak, jak jsou vyvolávány z programu. V těchto případech není nutné mít pole vrcholů, protože příkazy pro umístění a kreslení vrcholu mohou být dány přímo hardwaru, i když to může způsobit vážné problémy s výkonem. Pro nepřímé vykreslování v režimu musí být informace o 3D objektu nebo modelu nejprve umístěna do vrcholného pole, takže má strukturu, kterou může OpenGL® snadno interpretovat; toto pole musí být potom uloženo ve speciální oblasti paměti známé jako vyrovnávací paměť OpenGL®.

Samotná vyrovnávací paměť vrcholu nemusí nutně mít žádné zvláštní atributy kromě toho, že se jedná o úplnou sbírku informací použitých k nakreslení objektu. Když je však vyrovnávací paměť OpenGL® konvertována na objekt s vyrovnávací pamětí OpenGL® prostřednictvím rozšíření OpenGL, dochází ke speciální sekvenci událostí, které pomáhají optimalizovat kreslení objektu definovaného ve vyrovnávací paměti. Jmenovitě je vyrovnávací paměť přidělena a uložena v paměti grafické karty, na straně serveru, kterou používá nastavení klient-server OpenGL®. Některé výpočty mohou být také provedeny předem na VBO, takže mohou být vykresleny co nejrychleji. Mimo VBO obyčejná vrcholová vyrovnávací paměť obvykle neobdrží toto ošetření a může být alokována a použita jako jakýkoli jiný typ dat.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?