24 marca organizacja Khronos ogłosiła wydanie kolejnej wersji OpenGL – 3.1. Nowa wersja zawiera nową wersję języka programowania shaderów GLSL 1.40 i zawiera szereg drobnych poprawek i usprawnień
Z ciekawszych nowości można wymienić:
- Texture Buffer Objects – nowy typ tekstury, który przechowuje jednowymiarową tablicę tekseli ustalonego formatu, pozwalając na przekazywanie dużych tablic do shaderów
- Signed Normalized Textures – nowy, całkowity format tekstur, który reprezentuje wartości z przedziału [-1.0,1.0]
- Uniform Buffer Objects – pozwalają na szybkie zmiany bloków danych
- Więcej jednostek teksturujących – teraz wymagane jest, aby było ich co najmniej 16
- Restartowanie prymitywów – pozwala na łatwe restartowanie i wywoływanie prymitywów, co pozwala na przyspieszenie rysowania siatek
- Konkretyzacja – możliwość wielokrotnego rysowania tych samych obiektów, ponowne użycie danych wierzchołków pozwala na przyspieszenie renderowania i zmniejszenie potrzebnej liczby wywołań funkcji
- CopyBuffer API – przyspiesza kopiowanie z jednego obiektu bufora do innego, zwłaszcza użyteczne dla aplikacji współdzielących bufory z OpenCL 1.0 dla zaawansowanych obliczeń graficznych.
Dodatkowo wprowadzono model oznaczania przestarzałych funkcji – wiele funkcji zostało usuniętych z tego wydania, inne zostaly oznaczone jako przestarzałe i nie zaleca się wykorzystywania ich, gdyż zostaną usunięte w przyszłych wydaniach. Jednocześnie, aby zachować wsteczną kompatybilność zaproponowano rozszerzenie ARB dodające wszystkie usunięte funkcje, jednak jego implementacja nie jest obowiązkowa i zależy od dobrej woli producentów sterowników.
Najważniejsze cechy które zostały usunięte/oznaczone jako przestarzałe:
- definiowanie prymitywów w blokach Begin End
- wszystkie stałe funkcje do przetwarzania wierzchołków ( Frustum, LoadIdentity, LoadMatrix, LoadTransposeMatrix, MatrixMode, MultMatrix, MultTransposeMatrix, Ortho, PopMatrix, PushMatrix, Rotate, Scale, Translate )
- bufor akumulacji
- bufor selekcji
- listy wyświetlania
AMD zapowiedziało dodanie implementacji OpenGL 3.1 w najnowszej wersji sterowników, Nvidia postanowiła być jeszcze szybsza i zapowiedziała wydanie sterowników z implementacją następnego dnia po jej publikacji
Dodaj komentarz