18.07.2014 Aufrufe

Übungen zu den Lehrveranstaltungen 710.003 Computergrafik 1 ...

Übungen zu den Lehrveranstaltungen 710.003 Computergrafik 1 ...

Übungen zu den Lehrveranstaltungen 710.003 Computergrafik 1 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Wichtige Metho<strong>den</strong><br />

• calculateImage: Zu fin<strong>den</strong> in der Datei „RayCaster.cpp“. Hier muss der Strahl für je<strong>den</strong><br />

einzelnen Pixel berechnet, abgeschossen und das Ausgabebild bei einem Treffer mit der Ergebnisfarbe<br />

geupdated wer<strong>den</strong>.<br />

• findIntersectionPoints: Muss in dem File „Triangle.cpp“ ergänzt wer<strong>den</strong>. In dieser<br />

Methode soll der angegebene Algorithmus umgesetzt wer<strong>den</strong>, wobei darauf <strong>zu</strong> achten ist, dass nur<br />

relevante Punkte (der Kamera nähere) in das Struct IntersectionInfo geschrieben wer<strong>den</strong>.<br />

Verwen<strong>den</strong> sie dafür die Instanzmethode updateIntersectionInfo.<br />

• shootRay: Zu fin<strong>den</strong> in der Datei „RayCaster.cpp“. Hier wer<strong>den</strong> bereits alle Objekte der Szene<br />

durchlaufen und auf Schnittpunkte überprüft. Zu ergänzen ist hier nichts.<br />

4.5 Q&A<br />

Q: Eine float3 kann ein Punkt und ein Vektor sein? Wie geht das?<br />

A: Alles, was nötig ist um einen Vektor <strong>zu</strong> beschreiben sind drei Richtungswerte. Ein Punkt ist nichts anderes,<br />

als der Vektor der vom Punkt (0, 0, 0) aus <strong>zu</strong>rückgelegt wer<strong>den</strong> muss um ihn <strong>zu</strong> erreichen.<br />

Q: Wie funktioniert die View Plane Transformation? Was bedeutet „durch <strong>den</strong> Mittelpunkt der Pixel“?<br />

A: Zeichnen Sie sich eine 3x3 View Plane auf Papier auf und markieren sie die Ecken so wie in Abbildung<br />

19. Be<strong>den</strong>ken Sie, dass die linke obere Ecke der View Plane (-1/aspect, 1) auch die linke obere Ecke des<br />

ersten Pixels (0, 0) darstellt. Markieren Sie nun die Mittelpunkte der Pixel und überlegen Sie sich, welche<br />

Anpassungen der Koordinaten nötig sind, um diese Mittelpunkte <strong>zu</strong> erreichen. Ein Hinweis: die Werte<br />

viewplane x und viewplane y können niemals <strong>den</strong> Wert der jeweiligen View Plane Ausdehnung haben, da<br />

diese ja <strong>den</strong> linken/oberen Rand des ersten bzw. rechten/unteren Rand des letzten Pixels anvisieren wür<strong>den</strong>.<br />

Q: Welche Tests sollen in welcher Reihenfolge gemacht wer<strong>den</strong>?<br />

A: Folgende Aufteilung wäre vom Ablauf her <strong>zu</strong> empfehlen:<br />

a) sphere.xml, colorspheres.xml: Testen das Aussen<strong>den</strong> der Strahlen mit bereits implementierten Kugeln.<br />

b) screen.xml, aspect.xml, depth.xml, cube.xml, tu.xml: Testen die Schnittpunktfunktion von Dreiecken.<br />

c) triforce.xml, die.xml, solar.xml: Testen die Anwendung von Kugeln und Dreiecken in Kombination.<br />

d) Alles übrige...: Eignet sich um Ihre Implementierung auf kleinere Schwächen <strong>zu</strong> prüfen.<br />

Q: Ist das <strong>den</strong>n alles schaffbar?<br />

A: Es wurde hier sehr detailliert auf die einzelnen Schritte eingegangen, um <strong>zu</strong> verdeutlichen warum die<br />

jeweiligen Berechnungen benötigt und die gegebenen Formeln verwendet wer<strong>den</strong>. Ein Renderingverfahren<br />

ist natürlich mit viel Verständnisarbeit verbun<strong>den</strong>, beginnen Sie also früh genug. Tatsächlich kommt die<br />

Referenzlösung aber mit 20 LOC (Lines of Code) aus.<br />

21

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!