OpenGL ES 3.1 z obsługą funkcji OpenGL 4.4

OpenGL ES 3.1 z obsługą funkcji OpenGL 4.4

    przez -
    11 502
    Khronos Group
    Grupa Khronos ogłosiła wydanie specyfikacji OpenGL ES 3.1, w pełni wolnego podzbioru OpenGL dla urządzeń mobilnych. OpenGL for Embedded Systems posiada pewną ilość funkcji dostępną w normalnym OpenGL i istnieje możliwość uruchomienia danej aplikacji na normalnym komputerze. Najnowsza wersja jest w pełni kompatybilna z poprzednimi wydaniami oraz otrzymała funkcje z OpenGL 4.4.

    Najważniejsze zmiany:

    • Dodano shadery obliczeniowe (compute shaders), czyli jednostki obliczeniowe, które pozwalają wykorzystać moc karty graficznej
    • Dodano separate shader objects
    • Dodano pośrednie rysowanie jednej rzeczy wiele razy (Indirect draw commands), które umożliwia procesorowi graficznemu na obliczanie i przechowywanie parametrów dla wielu komend rysowania w buforze obiektów i ponownego ich wykorzystania, w jednej komendzie rysowania. Jest to efektywne podczas renderowania wielu obiektów z małą ilością trójkątów
    • Zwiększono możliwości teksturowania
    • Udoskonalono język shaderów – pojawiły się nowe operacje arytmetyczne i bitfiled, a także funkcje włączające nowoczesne styl programowania shaderów
    • Dodano opcjonalne rozszerzenia

    • pijaczek

      “Dodano pośrednie rysowanie wielu rzeczy na raz”

      Dokładniej to pośrednie rysowanie jednej rzeczy wielokrotnie (w zamian za instancing), Niestety wielu rzeczy na raz wykorzystać dalej nie możesz, bo nie ma Multi Draw Indirect, a jedynie Draw Indirect

      PS. Bardzo nie lubię, kiedy bezpodstawnie podwyższasz numerki wersji… ostatnio pisałeś o zapowiedzi OpenGL ES 4.x, bez żadnych podstaw (o czym Ci w komentarzach napisałem i teraz się potwierdziła wersja 3.1), A teraz piszesz o tym, że w OpenGL ES 3.1 masz funkcje z OpenGL 4.4:
      – Compute shaders są w OpenGL od 4.3,
      – Separate Shader Objects weszły do core w wersji 4.1,
      – Draw Indirect to OpenGL 4.0 (niestety nie ma co marzyć w tej chwili o Multi Draw Indirect który w OpenGL jest od 4.3),

      ogólnie nie ma tu nic co byłoby nowe w OpenGL 4.4, więc pytam się skąd taki tytuł?

      • Ollbi

        OpenGL ES 3.1 provides the most desired features of desktop OpenGL 4.4 in a form suitable for mobile devices,” said Tom Olson, chair of the OpenGL ES working group and Director of Graphics Research at ARM. “It provides developers with the ability to use cutting-edge graphics techniques on devices that are shipping today.”

      • pijaczek

        To co zostało dodane w OpenGL 3 też, OpenGL ES 2 też, OpenGL 3.0 też… co nie zmienia, faktu, że z OpenGL 4.4 (czyli rzeczami dodanymi w tej wersji) nie mają nic wspólnego.
        Ogólnie Tom Olson popuścił wodzę fantazji, bo nie dość, że niezawiera żadnej z cech 4.4 (w tym tych porządanych jak ARB_buffer_storage, które na SoC mogłoby dużo poprawić zarządzanie pamięcią (bez kopii dla GPU, a działanie bezpośrednio na RAM CPU), ARB_multi_bind (zmniejszenie narzutu przy bindowaniu))… ba nie ma nawet tych najbardziej pożądanych z całej serii 4.x
        – ARB_tessellation_shader (4.0),

        – ARB_transform_feedback_instanced (4.2),
        – ARB_multi_draw_indirect (4.3)
        – KHR_debug (4.3)
        Tom mija się z prawdą zarówno z numerkiem wersji z której GLES czerpie jak i z tym, że w GLES3.1 są najbardziej pożądane rzeczy (jedynie Compute Shadery i to jedynie dlatego, że dostęp do OpenCL jest ograniczony, bo na PC nikt nie pragnie jakoś tego rozszerzenia).

      • Ollbi

        Ok. Jeżeli mógłbym Cię zatem prosić o ewentualne podsyłanie zmian do następnych wersji OGL ES, ewentualnie OGL, byłbym bardzo wdzięczny :-)

    • Pingback: nVidia Tegra X1 - 2.5 raza wydajniejszy układ od Tegra K1()

    • Pingback: Qt 5.4 z obsługą WinRT i ekranów HiDPI()

    • Pingback: ARM Mali-T880 - nowa karta graficzna z procesorami Mali-V550 i Mali-DP550()