WebGL grafika 3D przeniesiona do przeglądarki!!
29.05.2010 | aktual.: 31.05.2010 20:30
WebGL to pochodna OpenGL ES 2.0, API dla grafiki 3D, przykrojona do potrzeb JavaScriptu. OpenGL to szeroko stosowany standard grafiki 3D, praktycznie bezkonkurencyjny na chwilę obecną (pod względem dostępności na każdą platformę jaka nam się zamarzy). Literki ES oznaczają specjalną wersję stworzoną z myślą o urządzeniach mobilnych jak na przykład komórki. JavaScript zaś to język programowania, który obecnie służy do tworzenia stron internetowych zachowujących się jak aplikacji (Google Docs dla przykładu). WebGL jest tworzony przez organizację Khronos znaną ze sprawnego stworzenia OpenGL ES.
Jakie korzyści niesie ze sobą wprowadzenie tego standardu? Po pierwsze wprowadzenie grafiki 3D do powszechnego użytku.* Po drugie ten sam standard zarówno na urządzeniach mobilnych jak i na desktopach. Po trzecie pełna akceleracja sprzętowa czyli odpowiednia wydajność dla bardziej wymagających aplikacji.
Czy jest nam potrzebna grafika 3D w internecie? Na chwilę obecną raczej nie** ale najpewniej tylko dlatego, że jeszcze wiemy jak to jest żyć bez niej, i najprawdopodobniej po wprowadzeniu WebGL nie będziemy sobie wyobrażali życia bez niego. A zastosowania jego będą szerokie, od gier po programy do obróbki grafiki 3D, przez ulepszenia wyglądu stron internetowych czy różne urozmaicenia treści jak wykresy, grafy, etc.
Równość wszelakich urządzeń z kolei zniesie kolejną barierę między różnymi platformami, skoro część programów będzie działała tak samo niezależnie od przeglądarki, systemu operacyjnego czy typu i mocy urządzenia.
Na korzyść WebGL'a przemawia też wydajność i akceleracja sprzętowa operacji graficznych, która dodatkowo zniesie granice między aplikacją a stroną internetową.
Dla tych najbardziej zainteresowanych odsyłam do listy przeglądarek z obsługą WebGL (tak taka jedna firma jeszcze nie chce tego standardu). Niestety na dzień dzisiejszy nie znam dość dobrej strony-dema prezentującej możliwości WebGL, wiąże się to też z tym, że nie został jeszcze on całkowicie ukończony mimo silnego wsparcia i intensywnych prac nad nim. Mogę za to podać dwa linki *ten* i *ten* do filmików prezentujących część możliwości WebGL. Znalazłem też to małe demo. Zaś dla próbujących swoich sił w programowaniu zapraszam na tą stronkę z tutorialami w stylu NeHe. Tutaj można wypróbować shadery, które również będą bezproblemowo współpracować z WebGL
* Były inne inicjatywy stworzenia API grafiki 3D, jednak obecnie to WebGL ma szanse stać się standardem popieranych przez wszystkich ** OK gram czasem w QuakeLive oraz Battlefield Heroes, one mogły by skorzystać na WebGL i to bardzo! Choćby dzięki zerowej bariery pomiędzy różnymi platformami (id musiał się namęczyć aby dostarczyć QL na Linuksa a i tak pod Chromium nie pogramy sobie, BH w ogóle nie ma portu na Linuksa).
PS WebGL dobrze współgra z HTML5 i będą się całkiem dobrze uzupełniać. WebGL będzie umieszczane na stronach dzięki canvas HTML5
Edit: Zamieściłem wcześniej screena z MW2 jednak podmieniłem go na aplikację wyświetlającą kreatury eksportowane z gry Spore. Powodem jest prawdopodobny fotomontaż wcześniejszego screena. Edit2: dodałem 2 nowe linki tym razem do gotowych i ciekawych stron prezentujących możliwości WebGL