Co to jest 2D OpenGL®?

Open Graphics Library® (OpenGL®) to przede wszystkim interfejs programistyczny, który pozwala aplikacjom na interakcję ze sprzętem graficznym i szybkie i wydajne tworzenie trójwymiarowych scen (3D). Wykorzystując dwuwymiarowe (2D) techniki programowania OpenGL®, przyspieszenie sprzętowe zapewniane przez bibliotekę może poprawić wydajność, a czasem łatwość programowania, które niekoniecznie wykorzystuje modele 3D lub transformacje. Najpopularniejszą metodą korzystania z 2D OpenGL® jest rysowanie czworoboków lub prostokątów, które są teksturowane obrazem, skutecznie tworząc obiekt w przestrzeni 3D z obrazu. Po ustanowieniu tych czworoboków można nimi manipulować, albo przy użyciu ścisłych metod 2D, albo poprzez transformację matrycami 3D w celu uzyskania efektów specjalnych, które w innym przypadku byłyby trudne do wykonania tylko z grafiką rastrową 2D. Korzystanie z biblioteki 3D wiąże się z pewnymi komplikacjami przy stosowaniu jej tylko do grafiki 2D, w tym z bardzo precyzyjną precyzją, która może skomplikować izolowanie lokalizacji pojedynczych pikseli, a także wymaga obsługi sprzętu 3D dla programu, który tak naprawdę nie wymaga to.

Wielu programistów sprzętu i oprogramowania zapewnia sterowniki i niestandardowe abstrakcyjne interfejsy programowania (API), dzięki którym ich poszczególne produkty są w pełni kompatybilne z biblioteką OpenGL®. Ta powszechna akceptacja otwartego standardu umożliwia programistom bezpośredni dostęp do sprzętu w wielu różnych systemach. Przyspieszenie sprzętowe zapewniane podczas korzystania z 2D OpenGL® może pozwolić programowi na bardziej płynne działanie, niż byłoby to możliwe. Ta szybkość jest równoważona przez fakt, że użycie potoku OpenGL® do grafiki może bardzo różnić się od zastosowania tradycyjnych metod programowania 2D, które zasadniczo nie wykorzystują modelu maszyny stanów jak OpenGL®.

Większość programów 2D OpenGL® używa płaskich prostokątów, które są wykonane w takich samych proporcjach jak obraz tekstury, do przedstawienia grafiki. Ma to tę zaletę, że jest bardzo szybki do renderowania, a także upraszcza programowanie, dlatego wykorzystuje tę samą logikę, co buforowana grafika oparta na rastrze. Niektóre efekty, takie jak skalowanie obrazu, obracanie obrazu lub odwracanie obrazu, można faktycznie wykonać znacznie wydajniej przy użyciu 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 utożsamia jednej części wirtualnego układu współrzędnych z jednym pikselem na ekranie, jak w przypadku grafiki rastrowej, więc czasami liczby zmiennoprzecinkowe muszą być czasami używane do współrzędnych ekranu, aby zapobiec lukom w wyświetlaniu lub dziwnym rozmieszczeniu pikseli.

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 interfejsu lub okna systemowego, urządzenia bez akceleracji grafiki mogą utracić wydajność grafiki, która może wydawać się bardzo prosta dla użytkownika końcowego. OpenGL nie zapewnia również natywnej obsługi wyświetlania tekstu, co oznacza, że ​​wyświetlanie dużych obszarów tekstu może wymagać sporej ilości niestandardowego kodu.

INNE JĘZYKI

Czy ten artykuł był pomocny? Dzięki za opinie Dzięki za opinie

Jak możemy pomóc? Jak możemy pomóc?