Khronos Group ogłosiła na konferencji SIGGRAPH 2008 publikację specyfikacji API OpenGL 3.0 API, a także języka GLSL 1.30. Mimo szumnych zapowiedzi i prawie rocznego opóźnienia ze względu na “sprawy techniczne”, zmiany okazały się nie być rewolucyjne.
OpenGL jest specyfikacją uniwersalnego API do generowania grafiki, wykorzystywany często przez gry komputerowe i wygaszacze ekranu, spełnia rolę analogiczną do konkurencyjnego Direct3D (część DirectX) w systemie Windows firmy Microsoft.
Środowisko deweloperskie wyraziło już swoje niezadowolenie z najnowszej specyfikacji OpenGL. Serwis Phoronix nie zajmuje się jednak tym co nie zostało zrobione, a koncentruje się na zmianach między specyfikacją 2.1 a 3.0.
Jednym z celów OpenGL 3.0 było uproszczenie API z punktu widzenia deweloperów implementujących standard. Jeśli chodzi o nowe funkcje, to mamy między innymi:
- obiekty tablicy wierzchołków (Vertex Array),
- obiekt bufora ramki,
- 32-bitowe zmiennoprzecinkowe tekstury (textures) i bufory renderowania (render buffers),
- renderowanie warunkowe, bazujące na testach przesłonięć (occlusion queries) — chodzi o to, żeby nie renderowac obiektów, o których będzie wiadomo, że zostaną zasłonięte przez coś innego
- dodatkowy, mniej precyzyjny typ danych zmiennoprzecinkowych, do informacji o pikselach i wierzchołkach o połowę mniejszy od typu float (compact half-float vertex and pixel data) — dodany w celu zaoszczędzeniu magistrali pamięci,
- cztery nowe schematy kompresji,
- obsługa 32-bitowego bufora głębokości (floating-point depth buffer) potocznie nazywanego buforem (współrzędnej) Z.
Khronos Group zapowiedziała też pracę nad integracją z OpenCL, stworzonym przez Apple językiem ułatwiającym programowanie współbieżne między jednostkami CPU i GPU (GPGPU computing).
Dyskusja na temat OpenGL 3.0 trwa również na Slashdocie.
Dodaj komentarz