Khronos Group wydało specyfikację mobilnego interfejsu programowania OpenGL ES 3.0
OpenGL ES z nową odsłona
Na konferencji SIGGRAPH 2012, odbywającej się w mieście aniołów - Los Angeles, na której poznaliśmy już OpenGL 4.3, grupa Khronos wydała specyfikację interfejsu programowania OpenGL ES 3.0 przeznaczonego dla urządzeń mobilnych.
OpenGL ES (OpenGL for Embedded Systems) jest obecnie najpopularniejszym interfejsem programowania stosowanym w urządzeniach mobilnych jak smartfony, przenośne konsole czy tablety. Poprzednie wydanie OpenGL ES 2.0 funkcjonuje na rynku już od 5 lat i jest najpopularniejszym rozwiązaniem tego typu i co ważne do tej pory wciąż najbardziej zaawansowanym technicznie. Była ona tworzona z elementów desktopowej wersji starego już OpenGL 2.0 i docelowo powstawała kiedy najwydajniejszy segment stanowiły urządzenia z układami ARMv6 (ARM11).
Teraz wersja OpenGL ES 3.0 "Haiti" została wykonana z rozszerzeń pochodzących ze stacjonarnych interfejsów OpenGL 3.3 i kilku OpenGL 4.2, dodatkowo zachowuje on pełną wsteczną kompatybilność z OpenGL ES 2.0.
Nowa wersja stanowi duży skok na przód w kwestii generowania grafiki w urządzeniach mobilnych, połączenie dwóch wersji desktopowego OpenGL, ma pozwolić na jednoczesne tworzenie aplikacji zarówno dla desktopów jak i mobilnych konstrukcji, przy czym konwersja na nie nie będzie już tak żmudna jak dotychczas, a to dzięki kompatybilności i zastosowaniu większości takich samych rozszerzeń.
OpenGL ES 3.0 ma według jego twórców przenieść urządzenia mobilne w świat grafiki umiejscowiony pomiędzy DirectX 9.3c, a DirectX 10, niestety nic ponad to, gdyż grupa zdecydowała się na pomięcie w nowej specyfikacji shaderów geometrii.
Wśród nowości należy wymienić obsługę potoku renderującego, co przełożyło się na akcelerację efektów graficznych jak: occlusion queries, transform feedback, instanced rendering oraz możliwość renderowania czterech lub więcej framebufforów. Tak jak miało to miejsce również w OpenGL 4.3, dodano wysokiej jakości kompresję tekstur ETC2 / EAC i uczyniono ją standardem, aby deweloperzy nie musieli przygotowywać osobnych zestawów dla każdej platformy.
Uproszczono implementację i pisanie przenośnych funkcji, dzięki dodaniu wymagań, wielkości tekstur oraz formatów buffora renderowania. Dodana nowa wersja języka shaderów GLSL ES dostała obsługę dla 32-bitowych stało i zmiennoprzecinkowych operacji.
Dodano dużo udoskonaleń i optymalizacji do funkcji tekstur jak: obsługa zmiennoprzecinkowych tekstur, trójwymiarowych tekstur, głębokości, wierzchołków, NPOT, R/RG, dynamicznych, stałych, dwuwymiarowych tablicowych oraz funkcji swizzles, LOD i mip level clamps, seamless cube maps i sampler objects.
Dzięki nowej wersji OpenGL ES generowana grafika będzie jeszcze bardziej szczegółowa, efekty bardziej naturalne, wzrośnie również szybkość renderowania, dzięki czemu do zaawansowanych efektów nie potrzebne będą potężne układy. Nowa specyfikacja jest również bardziej energooszczędna, dzięki czemu zredukowane zostaje zapotrzebowanie na energie elektryczną, co wydłuży czas pracy urządzeń mobilnych na akumulatorach.
Pełna specyfikacja dostępna na stronach grupy Khronos.
Więcej o projektach Khronos Group:
- Khronos Group zaprezentowała specyfikację interfejsu programowania OpenGL 4.3
- Gra Left 4 Dead 2 na Linuksie i w OpenGL jest znacznie wydajniejsza niż na Windows w DirectX
- OpenGL ES 3.0: Khronos Group szykuję premierę interfejsu dla urządzeń mobilnych
- OpenCL 1.2: specyfikacja udostępniona przez Khronos Group
- OpenGL 4.2 - udostępniono specyfikację
Źródło: Khronos Group, OpenGL, SIGGRAPH, UberGizmo, Engadget, TechCrunch, OSWold, AnandTech, BitTech
Komentarze
15Microsoft ujawnił możliwości graficzne swoich urządzeń. Na wszystkich urządzeniach dostępny jest DirectX 11.1. API programistyczne będzie na wszędzie identyczne niezależnie czy będzie to telefon, tablet czy komputer z Windows.
W przypadku telefonów Windows Phone 8 z uwagi na ograniczenia sprzętu dostępny będzie 'feature level 9_3' a model shaderów ustawiony na 2.0. Czyli jeżeli dobrze rozumiem to programujemy tak jakby był to komputer z systemem Windows 8 uruchomiony na karcie graficznej zgodnej z DX9c