(c) Krabat
Matr.Nr: XXXXX
WebGL - OpenGL - 3D Programmierung
Optimiert für FireFox 4
Die Kugel baue ich über die Polarkoordinaten auf. Dies wird über zwei for-Schleifen realisiert. Die erste for-Schleife durchläuft die Längengrade, von oben nach unten und erstellt in einer zweiten for-Schleife die Breitengradunterteilungen. So wird wie beim sch�len eines Apfels pro Umdrehung ein neuer Streifen hinzugef�gt.
Die Shader werden in der index.html Shadersprache angegeben. Da dies kein Javascript ist, aber trotzdem geladen werden soll, werden die Shader als Script angegeben und �ber ein paar Tricks in der shader.js geladen und an die Grafikkarte �bergeben.
Die Texture wird in zwei Arten berechnet: Wenn das Objekt nah ist, wird die Original Texture verwendet, befindet sich jedoch das Objekt weiter entfernt, muss die Texture neu & klein gerechnet werden. Dazu nutze ich MIPMAP. Dadurch entsteht weniger Aliasing-Effekte und die Performance ist besser.
(MipMap Wikipedia)
Die Texturen stammen von der NASA und Celestia Motherlode.
Ich nutze verschiedene Matrizen f�r die Darstellung, Ver�nderung usw. Die wichtigste ist die MV-Matrix (Model-View). Diese wird dazu verwendet, um das Objekt in der Ansicht zu manipulieren. Manipuliert werden die Matrizen mithilfe der vector.js die f�r die mathematischen Rechnungen zust�ndig ist.
Die Eventsteuerung gelingt durch einfachstes Javascript. Manipuliert wird dabei die MV-Matrix.
WebGL ist noch sehr jung. Seit erst 2009 wird das Projekt entwickelt. Seit 2010 unterst�tzt Google das vorhaben. FireFox und Chrome unterst�tzen von Haus aus WebGL, bei Opera muss es freigeschaltet werden, Microsoft unterst�tzt es nicht, und wird es vorl�ufig auch nicht unterst�tzen.
WebGL ist durch HTML5 und das Canvas-Tag deutlich verbreiteter, befindet sich aber nach wie vor im "Experimental" Stadium.