Ãbungen zu den Lehrveranstaltungen 710.003 Computergrafik 1 ...
Ãbungen zu den Lehrveranstaltungen 710.003 Computergrafik 1 ...
Ãbungen zu den Lehrveranstaltungen 710.003 Computergrafik 1 ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5.3 Hinweise<br />
Alle Metho<strong>den</strong> befin<strong>den</strong> sich in der Datei „Rasterizer.cpp“ und sind durch Kommentare (TODO)<br />
gekennzeichnet. In jeder dieser Metho<strong>den</strong> befindet sich auch ein kurzes Codebeispiel das <strong>den</strong> Umgang<br />
mit <strong>den</strong> Framework-Klassen demonstriert. Dieser Beispielcode ist durch Ihre eigene Implementierung <strong>zu</strong><br />
ersetzen.<br />
Je nach Konfiguration wer<strong>den</strong> entweder zwei oder drei Bilddateien erzeugt. Die Datei „testcase.png“<br />
enthält das gerenderte Bild, „testcase.depth.png“ <strong>den</strong> Inhalt des Depth-Buffers. Eine vergrößerte<br />
Version des Ausgabebildes ist in „testcase.upsample.png“ enthalten. Hier sind die Dreieckskanten<br />
als Linien überlagert. Das Letzte Bild wird nur erzeugt wenn der Parameter upsample angegeben wurde.<br />
Dies dient der praktischen Überprüfung der Fill-Convention. Das Generieren dieses Bildes kann unter<br />
Umstän<strong>den</strong> länger dauern. Verwen<strong>den</strong> Sie dieses Feature vor<strong>zu</strong>gsweise für Testcases deren Ausgabebilder<br />
eine geringe Auflösung haben.<br />
Es empfiehlt sich die einzelnen Punkte der Aufgabestellung in der Reihenfolge in der sie hier beschrieben<br />
wur<strong>den</strong> <strong>zu</strong> lösen. Der Beispielcode in Rasterizer::RasterizeTriangle() sorgt dafür dass die<br />
jeweilige Testszene basierend auf <strong>den</strong> von ihnen transformierten Vertices automatisch als Drahtgittermodell<br />
ausgegeben wird. So erhalten Sie von Anfang an (auch implementierte Rasterisierungsfunktion) visuelles<br />
Feedback.<br />
Entwickeln Sie eigene Testkonfigurationen um ihr Programm ausgiebig <strong>zu</strong> testen. Die beigelegten Testcases<br />
dienen hier nur als Ausgangspunkt.<br />
Literatur<br />
[FA91] William T. Freeman and Edward H. Adelson. The design and use of steerable filters. IEEE<br />
Transactions on Pattern Analysis and Machine Intelligence, 13:891–906, 1991.<br />
[HB04] Donald Hearn and M. Pauline Baker. Computer Graphics with OpenGL. Prentice Hall, 3rd edition,<br />
2004.<br />
27