Oprogramowanie

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).

opengl es 3.0 logo standard konferensja siggraph 2012

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.

opengl es khronos użycie 3d api w mobilnych urządzeniach

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.

opengl 20 lat interfejsu siggraph

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.

opengl es 3.0 khronos group specyfikacja kompresja tekstur etx2 eac

opengl es 3.0 khronos group specyfikacja rozszerzenie kompresja

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.

opengl es interfejs khronos w AR

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.

opengl es 3.0 nowe wersje

Pełna specyfikacja dostępna na stronach grupy Khronos.


Więcej o projektach Khronos Group:

Źródło: Khronos Group, OpenGL, SIGGRAPH, UberGizmo, Engadget, TechCrunch, OSWold, AnandTech, BitTech

Komentarze

15
Zaloguj się, aby skomentować
avatar
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.
  • avatar
    skoti
    2
    @arval: zupełnie nie masz racji - w OpenGL Dx10 nic nie zmieniło i dalej jest tak jak zawsze było. Od zawsze były rozszerzenia Vendor Only, które często kopiują swoją rolę z innym API od różnych producentów z innym pomysłem (bywa, że Intel ma swoje, Nvdia ma swoje, AMD ma swoje, Apple ma swoje... i wszystko to to samo), ale mało kto takie rozszerzenia wykorzystuje (czytaj prawie nikt - to są rozszżenia w formie alpha lub bardzo specyficzne dla danej architektury które nie można w żaden sposób użyć na innym sprzęcie (Bindless Graphics i Bindless Textures od Nvidii wymaga sprzętu który tylko Nvidia posiada)), później jeśli kilka firm się dogada co do jednego to jest to rozszerzenie GL_EXT, co oznacza, że przykładowo AMD i Nvidia implementują to rozszerzenie tak samo, ale przykładowo Intel nie (taka beta). Z rozszerzeń będących EXT Khronos w pracach nad OpenGL decyduje się, że dane rozszerzenie staje się standardem (GL_ARB_) i będzie wymagane od wszystkich wspierających najnowszą wersję OpenGL - podsumowując rozszerzenia ARB od zawsze (ja pamiętam jeszcze z poprzedniego wieku) w OpenGL były ostateczne i wspierane przez wszystkich, więc w przeciwieństwie do capsów z Dx (które są na poziomie alpha/beta rozwoju danej nowinki) nie było nigdy strachu z nich korzystać, bo tu wszystko jest ustandaryzowane i wspierane w takiej samej formie przez wszystkich.
    • avatar
      Konto usunięte
      0
      Nowe specyfikacje ujednolicające PC i telefony to dobra sprawa.

      Microsoft 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