Co je 2D OpenGL®?
Open Graphics Library® (OpenGL®) je primárně programovací rozhraní, které umožňuje softwarovým aplikacím rychle a efektivně interagovat s grafickým hardwarem a vytvářet trojrozměrné (3D) scény. Použitím dvourozměrné (2D) programovací techniky OpenGL® může hardwarová akcelerace, kterou poskytuje knihovna, zvýšit výkon a někdy i snadnost programovacího softwaru, který nemusí nutně využívat 3D modely nebo transformace. Nejobvyklejší metodou použití 2D OpenGL® je nakreslení kvadrilaterálů nebo obdélníků, které jsou texturovány obrázkem, a efektivně vytváří objekt ve 3D prostoru z obrázku. Jakmile jsou tyto kvadrilaterály stanoveny, lze s nimi manipulovat, buď pomocí přísných 2D metod, nebo transformací pomocí 3D matic pro speciální efekty, které by jinak byly obtížné dělat pouze s 2D rastrovou grafikou. Existují některé komplikace, které používání 3D knihovny přináší, když je využíváte pouze pro 2D grafiku, včetně hyper přesnosti, která může komplikovat izolování jednotlivých pixelů, jakož i vyžadování nějaké hardwarové podpory 3D pro program, který nemusí vyžadovat to.
Mnoho vývojářů hardwaru a softwaru poskytuje ovladače a vlastní abstraktní programovací rozhraní (API), díky nimž jsou jejich konkrétní produkty plně kompatibilní s knihovnou OpenGL®. Toto široké přijetí otevřeného standardu umožňuje programátorům přímý přístup k hardwaru ve velkém množství systémů. Hardwarová akcelerace poskytovaná při použití 2D OpenGL® může umožnit programu běžet hladce, než by bylo možné. Tato rychlost je vyvážena skutečností, že použití potrubí OpenGL® pro grafiku se může velmi lišit od použití tradičních 2D programovacích metod, které obecně nepoužívají model státního stroje, jako je tomu u OpenGL®.
Většina 2D OpenGL® programů používá pro vykreslení grafiky ploché obdélníky, které jsou vytvořeny ve stejných proporcích jako obraz textury. Výhodou je velmi rychlé vykreslení a také zjednodušení programování, takže se používá stejná logika jako u vyrovnávací grafiky založené na rastrech. Některé efekty, jako je změna měřítka obrázku, otočení obrázku nebo obrácení obrazu, lze ve skutečnosti provádět mnohem efektivněji pomocí OpenGL®.
Existují určité faktory, které mohou způsobit, že programy 2D OpenGL® budou složitější než ostatní 2D programy. Jedním z těchto faktorů je přesnost pixelů na displeji. OpenGL® nepřirovnává jednu část virtuálního souřadného systému k jednomu pixelu na obrazovce, jako je tomu u rastrové grafiky, takže pro souřadnice souřadnic obrazovky je někdy nutné použít čísla s pohyblivou řádovou čárou, aby se zabránilo mezerám v zobrazení nebo podivnému umístění pixelů.
Dalším problémem je, že OpenGL® vyžaduje použití grafické karty ke zvýšení rychlosti vykreslování. Pokud aplikace používá OpenGL® k zobrazení rozhraní nebo systémového okna, pak by zařízení, která nemají grafickou akceleraci, mohla utrpět ztrátu výkonu u grafiky, která by se koncovému uživateli mohla zdát velmi základní. OpenGL také neposkytuje žádnou nativní podporu pro zobrazování textu, což znamená, že zobrazení velkých oblastí textu může vyžadovat velké množství vlastního kódu.