21

Pomimo iż technologia WebGL jest stosunkowo młoda, już dostępna jest bogata baza frameworków. W zasadzie jest ich tak dużo, że na początku trudno któryś wybrać. W ostatnim czasie miałem okazję spróbować kilku z nich i podzielę się z wami moimi spostrzeżeniami.
Ostrzegam, że pewne cechy bibliotek, o których piszę mogą się zmienić w czasie (np. uwagi dot. niepełnych dokumentacji). Dodatkowo oceniałem ich możliwości pod kątem swoich potrzeb, ktoś inny może mieć inne wrażenia.
Dynamicznie rozwijany Framework z API sceny opartym na formacie JSON. Projekt zapoczątkowany przez Lindsay Key, aktualnie rozwijany przez kilka osób.
Framework poprzez specyfikę swojego API oddala nas od niskopoziomowego WebGLa.
Zalety:
Wady:
Podsumowując biblioteka nadaje się do tworzenia raczej statycznych scen, schematów oraz wizualizacji. Jednak przy programowaniu gier, gdzie potrzebujemy łatwej możliwości modyfikacji sceny, może okazać się nieco toporna.
Ciekawy Framework umożliwiający opisywanie scen za pomocą znaczników, przy czym poszczególne elementy sceny stają się fragmentami drzewa DOM i można manipulować nimi za pomocą JavaScriptu w podobny sposób jak typowymi elementami strony.
Zalety:
Wady:
Framework tworzony przez firmę Ambiera, twórców popularnej biblioteki IrrLicht.
Zalety:
Wady:
Ciekawy Framework zainicjowany na potrzeby projektu RO.ME “Three Dreams of Black”. Stale rozwijany przez mrdoob i wielu innych.
Zalety:
Wady:
Nie opisałem wszystkich frameworków WebGL, ponieważ nie wszystkich miałem czas/okazję spróbować. Pominąłem m.in.: PhiloGL, SpiderGL, GLGE, EnergizeGL, WebGLU, C3DL, J3D. Aktualną listę frameworków znaleźć można na stronie www.khronos.org/webgl/wiki/User_Contributions#Frameworks
Podsumowując do tworzenia gier najlepiej przystosowane są biblioteki CopperLicht oraz ThreeJS. Z tych dwóch wybieram ThreeJS – jest w pełni otwarta i darmowa, jest bardzo dynamicznie rozwijana przez wielu programistów i już teraz zawiera dużo przydatnych narzędzi. Trochę gorzej wygląda tutaj kwestia dokumentacji, ale w zamian Three.js udostępnia wiele ciekawych przykładów.
[...] Polish readers (or those who can put up with Google Translate), 3dgames.pl have put together a comparison of four WebGL frameworks: SceneJS, Three.js, X3DOM and Copperlicht. Posted in Links, Roundups | « Server upgrade [...]