Co je OpenGL® Quad?
OpenGL® quadrilateral neboli quad v počítačovém programování a grafice je trojrozměrný (3D) tvar, také nazývaný mnohoúhelník, který má čtyři strany a čtyři body. Každý 3D bod, který představuje jeden roh Quad OpenGL®, je známý jako vrchol a je definován třemi čísly vztahujícími se k jeho souřadné poloze ve virtuálním prostoru. Vrcholy quad nemusí dodržovat žádné skutečné pokyny, kromě toho, že musí být čtyři; jinak je tvar známý jako mnohoúhelník, trojúhelník nebo čára v závislosti na skutečném počtu. Většina digitálních obrázků je ve skutečnosti pravoúhlá, takže OpenGL® quad může být užitečným tvarem, protože obraz může být mapován textury na povrch bez velkého zkreslení a bez nutnosti složitých technik mapování textury. Použití Quad OpenGL® má však své vlastní výzvy a existuje celá řada programátorů, kteří navrhují, aby se jejich použití úplně vyhnuli.
Jedním z hlavních způsobů použití pro OpenGL® quad je nakreslení dvourozměrné (2D) grafiky v 3D prostředí. To lze provést tak, že se na 3D scénu překryje statické uživatelské rozhraní nebo se emuluje 2D grafika s OpenGL®. Přestože byl OpenGL® navržen pro vykreslení složité 3D grafiky, je často používán v 2D grafických aplikacích kvůli optimalizacím a flexibilitě abstraktního programovacího rozhraní (API). Quad se stává velmi důležitým při vykreslování 2D grafiky, protože se jedná o přirozenou 3D reprezentaci digitálního obrazu, což znamená, že quad může být proporčně upraven tak, aby přesně odpovídal rozměru obrazu. Jakmile se proporce shodují, může být obraz mapován nebo promítnut na povrch čtyřúhelníku bez jakéhokoli typu zkreslení, omotání nebo okapového prostoru.
Výhodou použití quad OpenGL® je podle některých programátorů to, že je snazší přemýšlet o tom, jak se čtyřúhelníky do sebe zapadají, na rozdíl od vizualizace vzájemného spojení trojúhelníků. To platí zejména pro jednoduché 3D tvary, jako je krychle, ve které je každá čtyřúhelník jedinou stranou; s trojúhelníkovou mřížkou musí být dva trojúhelníky spojeny, aby vytvořily čtyřúhelník, který vytvoří jednu stranu. Quad lze také snadno manipulovat a vytvářet tak perspektivní nebo jiné efekty v prostředí, které je buď kachlová nebo zarovnané na mřížku.
Použití Quad OpenGL® má některé nevýhody, většinou kvůli algoritmům používaným k rastrování nebo vykreslení obrazu v okně prohlížeče. Jedním z nejznámějších problémů je to, že vykreslovací nebo grafická karta může za účelem účinnosti kdykoli rozdělit čtyřúhelník na dva trojúhelníky. To může způsobit, že jinak hladký povrch bude náhle mít viditelné zkreslení pod úhlem přes čtyřúhelník, kde se setkávají okraje trojúhelníků.
Další problém, který je běžnější, než se někdy myslelo, souvisí s oříznutím Quad OpenGL®. Pokud je část kvádru mimo zobrazovací okno, mimo obrazovku, vykreslovací modul kvadrant ořízne, takže se vykreslí pouze viditelná část. To znamená, že čtyřúhelník bude geometricky řezán. Pokud byl čtyřúhelník před stříháním převeden na dva trojúhelníky, stává se z každého trojúhelníku čtyřúhelník a každá z těchto čtyřúhelníků se převede na dva trojúhelníky. To vede k situaci, kdy se oříznutý čtyřúhelník náhle skládá ze čtyř trojúhelníků místo jednoho hladkého čtyřúhelníku.
Složitost a nepředvídatelnost přeměny čtyřúhelníků na trojúhelníky vede k nežádoucím výsledkům. Patří sem zkreslení textur, nepřesnosti nebo artefakty související s osvětlením vrcholů a někdy chybí polygonové povrchy. Z těchto důvodů se někteří programátoři úplně nevyužívají čtyřkolek.