prev up next


Aufgabe 9.1 (25 Punkte)

Kopieren Sie das jar-Archiv /home/cg/Uebung/Blatt9/Aufg/draw3d-uebung.jar
in Ihr Arbeitsverzeichnis.

Der Aufbau der Applikation entspricht der Musterlösung von Blatt 8 wobei ein Face nun zusätzlich über eine Liste von Normalen verfügt. Zu jedem Eckpunkt einer Fläche wird darin - an der gleichen Position - die zugehörige Normale vorgehalten. Weiterhin ist DrawableObject jetzt eine abstrakte Klasse und kein Interface mehr. Machen Sie sich mit den Änderungen an der Applikation vertraut.

Implementieren Sie auf Basis der Normalen-Informationen ein Backface-Culling. Fügen Sie im Renderer eine geeignete Methode ein, die überprüft, ob ein Face aus Sicht der Camera sichtbar ist oder nicht. Verwenden Sie diese Information, um nach hinten gerichtete (unsichtbare) Flächen beim Zeichnen auszusparen. Hinweis: In Aufgabe 2 werden Sie eine Kugel implementieren, wobei jeder Eckpunkt einer Kugelfläche eine andere Normale hat. Beachten Sie dies beim Implementieren.

Der Cube wurde bereits mit Normalen versehen, so dass ihr das Ergebnis Ihres Backface-Cullings einfach überprüfen können.

Musterlösung vom 16.06.2010:
Die Lösung ist hier zu finden: /home/cg/Uebung/Blatt9/Lsg/draw3d-mlg.jar  


prev up next