Specyfikacje OpenGL 3.3 oraz 4.0 już dostępne
11 marca 2010, Emdek
Khronos Group udostępniło specyfikacje nowych wersji specyfikacji OpenGL, uniwersalnego API do generowania grafik. Wersja 4.0 przynosi sporo nowości, natomiast 3.3 została przygotowana w celu przeniesienia części z nich (tych, które nie wymagają zmian w GPU) do starszej gałęzi 3.x.
Główne nowości w OpenGL 4.0:
- język cieniowania GLSL w wersji 4.00;
- integracja z OpenCL;
- dwa nowe etapy cieniowania umożliwiające odciążenie procesora podczas tesselacji;
- rozdzielenie stanu tekstury od jej danych z użyciem nowego obiektu;
- obsługa podprogramów cieniowania;
- 64 bitowa precyzja liczb zmiennoprzecinkowych podczas operacji cieniowania;
- wiele poprawek zwiększających wydajność.
OpenGL 4.0 pozostaje w dalszym ciągu kompatybilne ze starszymi wersjami specyfikacji dzięki trybowi profili zgodności, wprowadzonemu w wydaniu 3.2.
Można się spodziewać, że już wkrótce NVidia udostępni dla Linuksa sterowniki zawierające obsługę nowych wersji specyfikacji. Nie wiadomo natomiast kiedy podobnie postąpi ATI. Chociaż szybki rozwój OpenGL może napawać optymizmem, to smutnym faktem jest to, że nie nadążają za nim prace nad otwartymi sterownikami, między innymi wciąż nieukończony state tracker OpenGL 3.2 dla Gallium3D.
Oficjalne ogłoszenie.
Nowe wersje specyfikacji.



Szkoda, ze rozwijają to coś skoro jest DX. To jak wynajdywanie jeszcze raz koła, wystarczy, ze zrobił to ponownie MS, a OpenGL – umarło śmiercią naturalna.
Nie karmić trolla.
Wiesz co Najek, jeśli tak uważasz to nie będę Ciebie przekonywał, temat był wielokrotnie wałkowany a Ty sobie dalej tam żyj w Microsoftowskim światku jaki Tobie stworzył a innym pozwól że będą patrzeć na świat bez klapek na oczach.
najek już cię poprzednim razem wyśmiali i zmaiżdżyli ludzie twoje wątłe argumenty chcesz żeby zrobili to po raz kolejny czy dać ci od razu linka do poprzedniej dyskusji?
ah wredna literówka miało być zmiażdżyli
Najek
Wikipeida Ci odpowie dlaczego OpenGL jest i był i będzie niezastąpiony i nic tego nie zmieni w przewidywalnej przyszłości Kropka
Temat jest ciekawy z innego powodu. Dlaczego twórcy gier tak niechętnie podchodzą do OpenGL? Czego brakuje temu API w porównaniu z DirectX?
Dobrych sterowników Intela na Windows (w ogóle z OpenGL na Windows są problemy większe niż z DX). Wsparcia na XBox360 (może rynek Maków trochę zmieni proporcje — ale nie wierzę, za mało tego).
Czasami wystarczy Linux + stery i grafa od Nvidi + Wine (emulacja !!) a gra dostaje przyśpieszenia.
Ale DX nie jest w stanie zagrozić OpenGL, MS nie chce tracić takiej “przewagi”.
@”dlaczego”: znajomi bawiący się w 3d (rzeźbiący dema i inne gry) twierdzą, że dx jest od ogl znacznie wygodniejszy i bardziej intuicyjny. Niestety muszę się opierać na opinii innych, bo mnie 3d nadmiernie nie kręci i nie chce mi się sprawdzać, tym bardziej, że dx mam tylko pod wirtualizacją na OGLowej makówce.
Hmm, 3.3 i 4.0 były komponowane tak aby bardziej upodobnić OGL do DX przy zachowaniu “starego zachowania”. Tak aby ułatwić portowanie, jak i emulowanie DX.
Wystarczy, że zrobił to ponownie MS.
To w końcu kto jest tutaj winny? Chyba Microsoft, skoro to oni pierwsi wynaleźli koło.
Zadam Ci pytanie. Po co w ogóle baseny kryte? Przecież baseny otwarte istniały od bardzo dawna.
DX nie ma żadnego zastosowania poza Windowsem, więc naturalne jest tworzenie odpowiedniego, otwartego standardu API do 3D. Najek albo tego nie rozumie (IQ<90) albo troluje świadomie, a to już lekkie zaburzenie psychiczne jest.
Nie Microsoft pierwszy wynalazł koło, lecz skopiował je. Najpierw był OGL. Przepraszam za zamieszanie(zwykłe przejęzyczenie).
Ba MS nawet popierało na początku OGL który był zdecydowanie przystępniejszy dla normalnego programisty.
@przemo_li: no właśnie ja słyszę zgoła przeciwne opinie — DX jest czystszy i przystępniejszy.
Po co powstał DOS? Przecież UNIX był o wiele lepszy. To jest poważny argument
.
Ale mimo to dos mi się podoba
Nie tylko tobie. Choć poznanie Unixa szybko wyleczyło mnie z DOS’omani
Od teraz jestem DosBox manem
DOS miał techniczną rację bytu przy bardzo słabym sprzęcie. Np. 8 bit Atari, XT, 286…Był nawet na Amidze, ale tam już na trochę innych (lepszych) zasadach.
No i oczywiście aresztowany za nadmierną prędkość w swoim Porsche, rozpieszczony szczeniak z rodziny milionerów, któremu w prezencie dano odgrywanie roli geniusza (teraz filantropa), nic poza BASIC i pseudo OS nie ogarniał, więc jego “firma” zaczęła od softwaru, który już w latach 70 był technologicznym zerem. DOSa.
Taa… chciałbym chociaż ułamek tego co on osiągnąć… Ale mówiąc tak o gościu który zarobił ponad 50mld dolców zapewne masz lepsze osiągnięcia ;D
Nie ma lepszych osiągnięć bo też nie ma za Sobą tak potężnej rodziny jaką miał Billu. Gdyby nie wsparcie tatusia to Bill Gates III gówienko by osiągnął.
DrunkenBear: A co stoi na przeszkodzie, żebyś to osiągnął?
@X: Powtarzasz w kolko zaslyszana bzdure – Gates nie byl z rodziny milionerow; Gatesowie byli klasa srednia. Na drugi raz zerknij chociazby do wikipedii.
Akurat wsparcie Willama Gatesa II było kluczowe – choćby z tego powodu, że będąc doświadczonym prawnikiem zadbał aby umowa należycie zabezpieczala interesy MS.
BTW: Prezes firmy z którą IBM skontaktował się pierwotnie, tj. przed MS, był zbyt zajęty cieszeniem się swoim prywatnym samolotem, aby dyskutować z koncernem…
@trasz: semantyka jest najmniej ważna. Przeciętnej rodziny na takie pożyczki nie stać.
A, no i co mówi Wikipedia?
Nie ma co, klasa średnia…
Radze przeczytać biografie Billa a nie chrzanić bzdury
@Najek: skoro przeczytałeś i uważasz artykuł za bzdury, to śmiało go popraw pamiętając o źródłach.
DrunkenBear, zarobienie 50mld$ to nic w porównaniu z dokonaniami Iosifa Wissarionowicza Dżugaszwili. Ten dorobił się połowy kontynentu. I co z tego? Mnie to nie imponuje, bo wynika z bycia w odpowiednim miejscu o odpowiednim czasie i pewnych…”ambicji”. Takich jak Bill G są setki milionów, a takich jak von Neumann, Knuth – niekoniecznie. Niestety plebs będzie zawsze myślał, że królowie, generałowie, biznesmeni itp. to jacyś boscy pomazańcy
. Plebs wyjątkowo prymitywny przeliczy wszystko na kasę albo władzę. W tym ujęciu Einstein, Da Vinci, Rosiński itp. to zera. No bo ile oni zarabiają (zarabiali), a ile Bill G? Niestety wielu ludzi ma taki system wartości. na poziomie galerianki.
@X:
przypomina mi się lokalne pytanie ratunkowe na egzaminie na wydziale informatyki. Pytanie, to wymienić jakie osoby według ciebie przyczyniły się do rozwoju informatyki. Za wymienienie Billa egzamin jest uwalony- jak człowiek się broni to pogrąża się zaraz po tezie- co wymyślił Gates, bo to że jakby nie było MS, to była by jakaś inna firma jest niemal pewne.
Ale idzie do przodu. I jestem z tego zadowolony (jako programista który lubi OpenGL)
* w którą obrósł
wlasnie przez te zamieszanie i opoznienie OGL3 Micro$oft zdazył wylansowac swoj DX3D, teraz pasuje to jakos odkrecic…
MS lansował i specjalnie podminowywał OpenGL od dawien dawna. Patrz: ogłoszenie o wycięciu OpenGL z Visty.
4.0? Ale inflacja! OpenGL 1.x służył programistom 10 lat, a 3.x … rok?
Dalej będzie służył. Wsteczna zgodność.
PS kiedyś śmieci trzeba wymieść, stąd pomysł “profili” w OpenGL 3.0
PSPS z 1.1 to był raczej problem “wojen API” i nieuznawania czegokolwiek poza 1.1 przez MS, która zresztą “niby” chciała rozwijać OpenGL
4.0 to czysty marketing, a w przypadku GLSL to już przegięcie (skok z 1.5), jakby przynajmniej GL_EXT_direct_state_access uwzględnili to można by jeszcze to zrozumieć, a tak chcieli podkreślić, że znowu są “feature complete” w stosunku do DX11 (i nie chopdzi tylko o teselację, ale także np. możliwość wykonywania fragment shaderów per próbka w trybie AA, no i w końcu nie trzeba żąglować programami shaderów tylko wywoływać odpowiednie podprogramy, jak to od dawna umożliwiała konkurencja).
Ale mimo wszystko udany release i miejmy nadzieję, że szybko zostanie poprawione archaiczne bindowanie obiektów przed ich użyciem/modyfikacją.
Teselacja była od dawna.
A marketing dobrze zrobi. 3.0 zawiodło zbyt wiele oczekujących.
Bzdura, od pół roku AMD udostępniał rozszerzenie GL_AMDX_vertex_shader_tessellator do swojego starego tesselatora, z którego nikt, prócz kilku ciekawskich nie korzystał (jak sama nazwa wskazuje jest implementowany wewnątrz vertex shadera z punktu widzenia API OpenGL). To co jest w OpenGL 4.0 to zupełnie inny hardware, inna koncepcja i zupełnie nowa implementacja. Zmienił się z tego powodu sam model potoku graficznego na wzór tego z DX11 (stąd pewnie ta nagła zmiana wersji) i tym samym ta funkcjonalność nie trafiła do OpenGL 3.3.
@wojtekm: też miałem nadzieję, że DSA się pojawi – to że Bindless się nie pojawi jeszcze to było jasne, bo jest za młode póki, a ta wersja to wyrównanie możliwości z Dx11 i ułatwienie portowania z Dx na OGL (obsługa obrazów z zapisem koloru BGRA (taki jak w DX), shadery per domain jak w Cg/HLSL, kolejność Provoking Vertex (można ustawić klasycznie lub jak w Dx), ustawianie “layout” ekranu w języku shaderów (w Dx9 inny pkt jest punktem 0,0, w dx10 inny, a w klasycznym ogl jeszcze inny (dodatkowo różni się głębokość) – teraz w shaderze można wybrać jakiego chcesz użyć)).
@przemo_li: tesselacja od programowalnej tesselacji różni się bardzo (możesz też powiedzieć, że shadery były od dawna (OpenGL 1.0) – problem w tym, ze nie były programowalne, a działały na podstawie sztywno zdefiniowanych algorytmów).
wiesz jak to z tłuszczą jak numerki widzi coraz wyższe to i bardziej ślinka cieknie
masz na myśli MS z DX 11 ?? ;P
w sumie ogólnie można by powiedzieć.Nikt nie zrobi nazwa_programu 0.4 a od razu nazwa_programu 2.
pijesz do googla, który w pór roku przegoni opere z numerkami?
ogólnie popatrz ile rzeczy hiper nowych wychodzi niby. A rynek hardweru to już makabra(odgrzewane geforcy). Np. Twórcy jądra trzymają się sztywno małego wzrostu numerku. A już w windows zmiana z 6.0 na 6.1 to windows 7. Którego można by nazwać vista 1.5 , ta 7 w nazwie to raczej czysto marketingowa jest
Hmm. 1.x, 2.x, 3.x, 95, 98, ME, XP, Vista, 7
Inflacji nie widzę (deflacja za to z 2000 na 7). Za to porządek mają wzorowy…
@Maciej: pomieszałeś dwie konkurencyjne, rozwijane równolegle linie.
NT 4, 2000 (5?), XP (5.1?), Vista (6?), 7 (6.1?)
Tak.
Rozmowa o OpenGL i ewentualnie o DX ja się patrzy
W temacie: http://pclab.pl/news41294.html
Geforce 4xx będą wspierać OGL 4.0. Jeśli oczywiście doczekamy ich premiery:)
…i AMD 5XXX też
czyli już są karty z OGL 4.0
@marcinsud: jeszcze nie – nie ma sterowników – nVidia pewnie wyda pod koniec marca po premierze Fermi, a AMD za pół roku jak to mają w zwyczaju po wydaniu nowej specyfikacji.
A na Messe trzeba poczekać
Nie wierzę, że wszystkie instrukcje OpenGL 4.0 będą wspierane sprzętowo.
Mam na myśli obecnie sprzedawane karty AMD 5XXX.
Będą, uwierz, a jak chcesz być pewien to zgłębij temat
.
Pewnie, że nie będą tak samo zresztą jest z prawie każdym OpenGL’em czy DiretXem. Ot część komend sterownik rozbija na mniejsze (szybsze), część emuluje jeszcze innymi (bo szkoda $$ na sprzęt lub jest szybciej dla danego chipsetu), s część realizuje na CPU.
Tak było jest i będzie, (i jest to stan optymalny)
“Nie wiadomo natomiast kiedy podobnie postąpi ATI.”
Nigdy? ATI to dno.
Póki co to “dno” wyznacza kierunek rozwoju grafiki.
Tylko szkoda że z jakością u nich kiepsko. Bo ceny mają fajne.
Jeśli chodzi o jakość generowanego obrazu to jest wyższa od konkurencji, szczególnie filtrowanie tekstur jest u ATI ostrzejsze. Popatrz na porównania Xbox vs PS3 tam jest to bardzo ładnie widoczne. Angle Independent Anisotropic Filtering też póki co tylko u ATI (seria HD 5000).
@wojtekm – Jakość obrazu jest dobra, ale sterowniki np. do Linuksa są niestety kiepskie.
Ale wcho cares Linux
1% populacji a mowa o kartach graficznych dla graczy, gdzie Linux ma tyle gier, ze bedac producentem sprzetu to sam bym sie tym OS nie przejmowal za bardzo.
Karty graficzne są nie tylko wykorzystywane do gierek. a 1% to i może ale użytkowników desktopowych, a firmy, studia?
@abcman Obecnie kod OpenGL sterownika pod Windows i Linux w dużej mierze się pokrywa, podobnie jak u NVIDII, kwestia niedostatecznego wsparcia dla specyficznych Linuksowych funkcji. Ale mimo wszystko wcale nie jest tak źle jak tu niektórzy histeryzują. Używam na co dzień i nie odczuwam istotnych problemów, nie mówiąc już o tym, że programów na Linuksa, które w pełni wykorzystują najnowszy graficzny hardware w zasadzie nie ma, jeden Unigine Tropics, bo Heaven póki co musiałby być sportowany na OpenGL 4.
No sprzęt o porównywalnych możliwościach statystycznie działa lepiej pod Linuksem gdy za stery odpowiada Nvidia, ATI nie jest w stanie nadążyć.
Choć to ATI udostępnia specyfikację chipsetów więc społeczność, może nadrobić w tej kwestii (nie mam ATI ale to by mi pasowało).
PS tak stery ATI (kiedyś) były tak paskudne, że wersje opensource robione bez oficjalnych specyfikacji spokojnie je prześcigały.
MWilk: ,,Who cares about BSD” raczej… Bo w Linuksa AMD pompuje jakieś pieniądze (zarówno w sterownika fglrx jak i w pracy ludzi piszących xf86-video-ati/Mesa-r300/drm). A że raz wychodzi lepiej raz gorzej, cóż zdarza się. W każdym razie jest wybór.
Przynajmniej nie wydają sterownikówsmażacych karty graficzne.
I już teraz wspierają SM5.0, więc mają większe szanse niż na OpenGL 4.0 niż zielona konkurencja, której odpowiednie kart będą miały papierową premierę za dwa tygodnie… A w sklepach ukażą się w bliżej nie sprecyzowanej przyszłości. Duke Fermi Forever…
Może zadam głupie pytanie, ale tak chwile pogooglowałem i nie znalazłem jednoznacznej odpowiedzi…
Co to jest dokładnie ten “state tracker” i czemu to jest to takie ważne i ciągle tego nie zrobili dla OpenGL’a…
To jest “tłumacz” z API OpenGL-a na API Gallium3D. Kiedyś, jeszcze przed ogłoszeniem specyfikacji OpenGL 3.0 łudzono się, że wersja 3.0 będzie na tyle zgodna koncepcyjnie z Gallium, że będzie można obejść się bez state trackera, a wcześniejsze wersje OpenGL przystosować do niego dzięki warstwie pośredniej jaką jest state tracker. Niestety przeliczono się i póki co state tracker jest potrzebny nawet do OpenGL 4.0. Sytuacja trochę się poprawi gdy w oficjalnej specyfikacji zrezygnuje się z “bindowania” obiektów przed użyciem, ale czy i kiedy to nastąpi nie wiadomo.
Pewnie za pól roku (nie tzw. ,,linuksiarskie” tylko Khronosa).
OpenGL ma szansę o ile bardziej upodobni się do DirectX pod względem funkcjonalności, ma tę podstawową rzecz której nie ma DirectX11 – OpenGL jest kompatybilny z Windows XP.
Gra pisana pod Windows XP z wykorzystaniem OpenGL może zostać przeportowana później na Linuxa.
Napisz to jeszcze raz.
Nie jestem specem w temacie, tyle wygooglowałem na różnych forach.
To sprawdź, w URL’u czy Ci czasem stronka nie tłumaczyła z angielskiego na polski. Całe pierwsze zdanie to kaszanka. Nie wiem co chciałeś powiedzieć. Nie jest ono zresztą zgodne z gramatyką języka polskiego.
@X – nie wiem o co wyminaisz Amige w kontekscie DOS? Sugerowanie ze na Amidze byl DOS jest nietaktem swiadczacym o totalnej nieznjaomosci AOS.
AOS jest znacznie blizszy Uni* niz DOS – z DOS to ma tyle wspolnego ze posiada konsole (CLI) ktora na belce jak sobie okno konsoli otworzysz pod WB ma napis Amiga DOS i tyle podobienstw