niedziela, września 19, 2010

WebGL - dalsze zabawy

Pierwszy wniosek, pogłębienie poprzedniego ;-)To nie jest zabawka dla każdego.To będzie silne narzędzie do tworzenia gier i podobnych aplikacji.W VRMLu by zrobić "domek" trzeba było się co prawda napisać, tworząc model, ale mając model można było resztę, czyli renderowanie, obsługę nawigacji i podobne przekazać wtyczce odpowiedzialnej za wyświetlanie VRMLa.Tutaj wszystko trzeba zrobić samemu, model musimy dostarczyć w zjadliwej formie do OpenGLa, później musimy też sterować vertex shaderem i fragment shaderem, zaimplementować własne mechanizmy do wykrywania przeszkód, grawitacji, etc.A to już wymaga sporej wiedzy programistycznej i to specjalizowanej w grafice 3D.Oczywiście z biegiem czasu będą pojawiały się biblioteki, a później całe enginy do pisania gier w WebGLu. Ja jak na razie "opanowałem" sterowanie kolorem, ale jak widać tak sobie ;-)
Potrafię też zrobić "cieniowanie", symulujące istnienie jakiegoś źródła światła. Ale takie sobie:
I to bez użycia światła ;-)Jak się wydaje w tym momencie najwięcej zabawy jest właśnie z kodem do vertex i fragment shadera.Bardziej "naturalne" cieniowanie będę miał gdy uda mi się dostać do wektora normalnego, który sam OpenGL potrafi podać dla danego trójkąta, więc praca jest o tyle prostsza, że nie trzeba się tym samemu kłopotać.WebGLowi daleko też jeszcze do standardu. Te filmiki wyżej robione były w Chrome Canary, w Firefoksie 4.0 ten program, który generuje to co widać na 1 filmiku pokazuje całkowicie białą twarz bez kolorów, drugi działa podobnie na Chrome Canary i Firefoksie 4.0, z tym, że na Canary jest szybszy.


Podobne postybeta
Nie taka Java wolna jak ją opisują...
Gouraud = Pseudo Phong :-)
Cieniowanie Gourauda w JavaScript :-)
Standard to piękna rzecz ;-)
Chrome, Firefox, IE9 preview i cieniowanie Gouraud'em w JavaScript