Co je OpenGL® VBO?
Při použití počítačových grafických knihoven Open Graphics Library® (OpenGL®) pro počítačové programování je objekt Vertex buffer (VBO) datovou strukturou, která umožňuje konstruování a ukládání trojrozměrného (3D) objektu do paměti grafiky. karta nebo grafický hardware. To umožňuje velmi rychle vykreslit OpenGL® VBO a použít mnohem méně systémových prostředků než jiné techniky, které používají kreslení v okamžitém režimu. Kromě zvýšení rychlosti a snížení režie grafiky je OpenGL® VBO také dynamickou strukturou dat - na rozdíl od zobrazovacího seznamu OpenGL® - lze ji změnit, jakmile je v paměti. Koncept OpenGL® VBO skutečně začal u výrobců hardwaru, kteří původně zahrnuli - pod různými jmény - podobný typ funkčnosti jako rozšíření knihoven OpenGL®, které později standardizovala OpenGL® Architecture Review Board (ARB).
OpenGL® VBO je v podstatě kombinací dvou dalších typů datových struktur OpenGL®. Zahrnuje základní funkčnost vrcholného pole, protože informace o geometrii - včetně souřadnic vrcholů, normálů a barev - mohou být uloženy ve strukturovaném poli, které lze předat OpenGL® ke zpracování. Na rozdíl od vertexového pole je však OpenGL® VBO uložen na serverové straně vykreslovacího modulu a nemusí pro nepřetržitý přístup ke straně klienta získat informace o vrcholu.
Povolením ukládání VBO v grafické paměti také přebírá některé vlastnosti seznamu zobrazení. Hlavní rozdíl spočívá v tom, že OpenGL® VBO lze upravovat a zobrazovací seznam nemůže. Navíc VBO není nutně zkopírováno do grafické paměti, protože by se zobrazoval seznam zobrazení, takže v paměti musí být přítomna pouze jedna datová struktura.
Když je konečně vykreslen OpenGL® VBO, je vzdálenost od grafické paměti, ve které je uložena, a od jednotky pro zpracování grafiky (GPU) velmi malá, což umožňuje velmi rychlou rasterizaci bez nutnosti přecházet nejprve pomalejším hardwarem systému. V některých případech však hardware VGA nepodporuje použití VBO. To může vést k problémům s programováním, které odstraní jakékoli další výhody plynoucí z používání VBO nebo programu, který bude nekompatibilní s některými grafickými kartami.
Existuje několik metod, které mohou pomoci při optimalizaci toho, jak se s OpenGL® VBO zachází. Jedním z nich je poskytnout rady grafické kartě nebo OpenGL®, které pomohou určit, kde by měl být VBO umístěn v paměti. V závislosti na poskytnutých radách může být VBO uložen přímo v grafické paměti na grafické kartě, nebo může být podle potřeby uložen v hlavní paměti s náhodným přístupem (RAM) systému.