OpenGL ES 3.1 z obsługą funkcji OpenGL 4.4

11
2086
Khronos Group
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
Poprzedni artykułGOG.com zapowiedziało oficjalne wsparcie dla Linuksa
Następny artykułMozilla Firefox 28.0 z obsługą kodeków VP9 i Opus
Michał Olber
Interesuję się głównie sprzętem i działaniem jego pod systemami GNU/Linux. Testuję różne dystrybucje i robię recenzje. Interesuję się działaniem sprzętu pod Linuksem, dzięki czemu wiem, jaki zestaw komputerowy wybierać :)

11 KOMENTARZE

  1. „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ł?

    • 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.”

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

    • 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 :-)

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj