Aufgabe 9.4 (30 Punkte)
- Haben Sie die vorangegangen Aufgaben gelöst, sollte das Programm nun
ohne Probleme starten. Machen Sie Ihren Tutor anhand der gezeigten
Szene und einer eigenen Skizze auf die Vor- und Nachteile der gewählten
Beleuchtungsmethode aufmerksam.
- Implementieren Sie die Methode createSphereWithDisplacement(float
r, int n, int k, float displaceHeight, String displaceFile). Diese
soll die Vertices der Erde entlang ihrer Normalen um den Rotwert der
im Parameter displaceFile angegebenen Textur verschieben.
Steht zu einem Vertex
in der Textur ein Rotwert
von
, so soll die Gesamtverschiebungsdistanz
betragen.
- Da sie die Vertices nun verchoben haben, stimmen die Normalen natürlich
nicht mehr mit der zugrunde liegenden Geometrie überein. Überlegen
Sie sich ein Verfahren, die Normalen an die neue Geometrie anzupassen
und implementieren Sie es. Erklären SIe Ihrem Tutor die dabei die
Unterschiede im Vergleich zu nicht veränderten Normalen.
- Ändern Sie die Klasse SolSystem derart ab, dass die Erde
mithilfe der neuen Methode erstellt wird. Als Displacementtextur soll
dabei earth_height.jpg verwendet werden.
/home/cg/2012/Uebung/Blatt9/Lsg/CG12Blatt9.zip