Co to jest OpenGL® Mobile?

Biblioteka programistyczna OpenGL® dla urządzeń mobilnych, bardziej znana jako OpenGL® for Embedded Systems (OpenGL® ES lub GLES), to zbiór funkcji opartych na standardowej dystrybucji OpenGL®, która została zmniejszona zarówno pod względem rozmiaru, jak i nieodłącznej funkcjonalności, aby umożliwić bibliotece do użytku na szerokiej gamie urządzeń mobilnych i systemów wbudowanych. Aplikacja korzystająca z mobilnej biblioteki OpenGL® może skutecznie renderować trójwymiarową (3D) grafikę przy użyciu dowolnego zastrzeżonego sprzętu używanego w urządzeniu, zwykle za pośrednictwem specjalnego pośredniczącego sterownika lub warstwy oprogramowania. Istnieje kilka wersji mobilnej biblioteki OpenGL®, które umożliwiają obsługę różnych typów wbudowanego sprzętu, który może być używany, od systemów stałych po systemy programowalne. Podobnie jak standardowa forma OpenGL®, wersja mobilna zapewnia rozszerzenia dla niestandardowych funkcji sprzętowych opracowanych przez producentów.

Największym wyzwaniem, przed jakim stoi każda implementacja mobilna OpenGL®, są niezwykle małe ograniczenia systemów wbudowanych i urządzeń mobilnych. Oznacza to, że biblioteki zwykle używane dla komputerów stacjonarnych lub laptopów, które miały być używane w pełnym systemie operacyjnym z przynajmniej umiarkowanymi zasobami, muszą zostać zmodyfikowane, aby zajmowały mniej miejsca i radziły sobie z potencjalną niedostępnością zasobów podczas uruchamiania programu . Zasobami tymi może być pamięć, moc obliczeniowa, a nawet dostęp do kontekstu wyświetlania, ale mogą one również obejmować znacznie bardziej złożone elementy, takie jak systemy plików lub porty wejściowe i wyjściowe, które mogą nie być obecne na urządzeniu.

Implementacja biblioteki mobilnej OpenGL® musi również radzić sobie z problemem indywidualnego, czasem unikalnego sprzętu w urządzeniach. Mimo że biblioteka jest w dużej mierze abstrakcyjna od rzeczywistego interfejsu niskopoziomowego między sprzętem a oprogramowaniem, niektóre funkcje OpenGL® mogą nie pasować do paradygmatu operacyjnego wyświetlacza lub sprzętu graficznego. Aby uniknąć tego problemu, organizacja rozwijająca OpenGL® stworzyła standard, którego mogą używać zastrzeżone interfejsy, aby zapewnić programistom możliwość używania wspólnego kodu w aplikacjach mobilnych i uzyskiwania przewidywalnych wyników. Producenci mają możliwość niekorzystania z opracowanych standardów, w których mogą być zmuszeni do tworzenia niestandardowych sterowników OpenGL® i rozszerzeń dla sprzętu.

W zaawansowanych systemach, takich jak konsole lub tablety, lekka biblioteka mobilna OpenGL® może być używana do tworzenia grafiki 3D o tej samej jakości i szybkości, co na komputerze stacjonarnym. Wynika to z wbudowanej obsługi takich funkcji, jak shadery, a także zaawansowanego sprzętu graficznego, który może przyspieszyć renderowanie bez konieczności przechodzenia przez kilka urządzeń pośredniczących, co może mieć miejsce w przypadku komputera, który nie korzysta ze zintegrowanej karty graficznej . Biblioteki mobilne OpenGL® stały się jednym ze standardowych narzędzi do programowania grafiki używanych w urządzeniach, od małych konsol do gier po podręcznych asystentów cyfrowych.