Kugel Einstellungen
Licht: Rotation:
Gerichtetes Licht

Position der Lampe:

X:
Y:
Z:

Lichtfarbe:

R:
G:
B:
Umgebungs Licht Lichtfarbe:
R:
G:
B:
Spannende Effekte Superpoly:
Gitterbox:
RandomRadius:
Warber Effekt:
Statistik

Ein paar Informationen ( Click )

(c) Krabat

Matr.Nr: XXXXX

WebGL - OpenGL - 3D Programmierung

Optimiert für FireFox 4

Aufbau der Kugel

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

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

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.

Matrizen

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.

Events & Effekte

Die Eventsteuerung gelingt durch einfachstes Javascript. Manipuliert wird dabei die MV-Matrix.

NiceToKnow

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.