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
Michał Olber liked this on Facebook.
Grzegorz Olejniczak liked this on Facebook.
Krzysztof Zubik liked this on Facebook.
„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 :-)
Wojciech Drzęśla liked this on Facebook.
[…] i 16 ROP. Wspierane są następujące technologie: Unreal Engine 4, DirectX 12, OpenGL 4.5, CUDA, OpenGL ES 3.1 i Android Extension […]
[…] Udoskonalono wsparcie dla OpenGL ES 3.0 i OpenGL ES 3.1 […]
[…] montować od 1 do 16 rdzeni obliczeniowych. Ze wspieranych technologii warto wymienić OpenCL 1.2, OpenGL ES 3.1, DirectX 11.2 i RenderScript. Główny procesor graficzny współpracuje z procesorem wideo […]