Co to jest 2D OpenGL®?

Open Graphics Library® (OpenGL®) to przede wszystkim interfejs programowania, który umożliwia szybkie i wydajne sceny z Trójwymiarowymi (3D). Korzystając z dwuwymiarowych (2D) technik programowania OpenGL®, przyspieszenie sprzętowe zapewnione przez bibliotekę może poprawić wydajność, a czasem łatwość oprogramowania do programowania, które niekoniecznie wykorzystuje modele 3D lub transformacje. Najczęstszą metodą stosowania 2D OpenGL® jest rysowanie czworoboku lub prostokątów, które są teksturowane obrazem, skutecznie tworząc obiekt w przestrzeni 3D z obrazu. Po ustaleniu te czworobokowe można manipulować, albo z ścisłymi metodami 2D lub przez przekształcenie matryc 3D dla efektów specjalnych, które w innym przypadku byłyby trudne do zrobienia tylko z grafiką 2D. Istnieją pewne komplikacje, które przynosi użycie biblioteki 3D przy zatrudnieniu tylko dla grafiki 2D, w tym hiper-precyzyjneTo może sprawić, że izolowanie lokalizacji jednoprzepustowych, a także wymagać wsparcia sprzętowego 3D dla programu, który może nie wymagać tego.

Wielu programistów sprzętu i oprogramowania zapewnia sterowniki i niestandardowe interfejsy programowania abstrakcyjnego (API), które sprawiają, że ich poszczególne produkty są w pełni kompatybilne z biblioteką OpenGL®. Ta powszechna akceptacja otwartego standardu daje programistom sposób na bezpośredni dostęp do sprzętu w wielu różnych systemach. Przyspieszenie sprzętowe zapewnione podczas korzystania z 2D OpenGL® może pozwolić programowi działać płynniej niż w inny sposób, byłoby możliwe. Ta prędkość jest zrównoważona faktem, że użycie rurociągu OpenGL® dla grafiki może bardzo różnić się od stosowania tradycyjnych metod programowania 2D, które ogólnie nie stosują modelu maszyny stanu, takiej jak OpenGL®.

Większość programów 2D OpenGL® używa płaskich prostokątów, które są szalonee w tych samych proporcjach co obraz tekstury do przedstawienia grafiki. Ma to tę zaletę, że jest bardzo szybki do renderowania, a także upraszcza programowanie, więc wykorzystuje część tej samej logiki, co buforowana grafika oparta na rastrze. Niektóre efekty, takie jak skalowanie obrazu, obracanie obrazu lub odwrócenie obrazu, można faktycznie wykonywać znacznie wydajniej za pomocą OpenGL®.

Istnieją pewne czynniki, które mogą powodować, że programy 2D OpenGL® są bardziej złożone niż zwykle inne programy 2D. Jednym z tych czynników jest precyzja pikseli na wyświetlaczu. OpenGL® nie zrównuje jednej części wirtualnego systemu współrzędnych z jednym pikselem na ekranie, takim jak grafika rastrowa, więc czasami należy stosować liczby zmiennoprzecinkowych liczb punktowych, aby zapobiec lukom na wyświetlaczu lub dziwnych umieszczenia piksela.

Innym problemem jest to, że OpenGL® wymaga użycia karty graficznej w celu zwiększenia prędkości renderowania. Jeśli aplikacja korzysta z OpenGL® do wyświetlania INTErface lub okno systemu, wówczas urządzenia, które nie mają przyspieszenia grafiki, mogą ponieść utratę wydajności grafiki, która może wydawać się bardzo podstawowa dla użytkownika końcowego. OpenGL nie zapewnia również żadnej natywnej obsługi wyświetlania tekstu, co oznacza, że ​​wyświetlanie dużych obszarów tekstu może wymagać sporo kodu niestandardowego.

INNE JĘZYKI