01.02.2013 Aufrufe

MiCaDo Projektbericht - artecLab - Universität Bremen

MiCaDo Projektbericht - artecLab - Universität Bremen

MiCaDo Projektbericht - artecLab - Universität Bremen

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.

12<br />

Die Implementierung erfolgte in Programmmodulen, die z.B. die Funktionalität für das Einlesen<br />

des BSP-Baums, das Einlesen der 3D-Modelle und die Szenenrepräsentation zur Verfügung stellen.<br />

Das letztgenannte Modul ist für die Darstellung der Welt aus der Sicht des Sichtpunkts (Viewpoint)<br />

zuständig. Es stellt Informationen bereit, die z.B. die aktuelle Position des Punktes, von dem aus die<br />

Welt betrachtet wird, betreffen. Weitere Informationen zu wichtigen Aspekten der Madness Engine<br />

befinden sich in den folgenden Abschnitten.<br />

3.1 Das BSP-Format<br />

Das BSP-Format ist ein Dateiformat, um eine zuvor modellierte, statische 3D-Welt in ein Programm<br />

zu laden und dann anhand eines bestimmten Sichtpunkts Sichtbarkeitsberechnungen durchzuführen.<br />

Es handelt sich dabei um eine Baumstruktur, die nach dem so genannten Binary Space Partitioning-<br />

Verfahren [Wat02, S. 227–230] erstellt wurde. Die Modellierung erfolgt mit Hilfe eines Level-Editors 4 ,<br />

der nach Abschluß dieser Arbeit aus den Polygonen dieser Szene einen Datenbaum erzeugt und dabei<br />

beispielsweise auch Lichtberechnungen vornimmt. Für die Lichtberechnung können dabei verschiedene<br />

Algorithmen benutzt werden, die schließlich Light-Maps erzeugen. Bei den Light-Maps<br />

handelt es sich um Texturen, die die Helligkeit der Polygone angeben, da es keine weitere Beleuchtungsberechnung<br />

zur Laufzeit in der Engine gibt.<br />

Zum Erzeugen des Baums wird nun folgendermaßen vorgegangen: Zunächst wird die Szene anhand<br />

bestimmter Teilungsebenen zerlegt, der jeweils entstandene linke und rechte Szenenteil weiter<br />

geteilt und in den jeweiligen Teilbaum der BSP-Baum-Struktur eingehängt. Am Schluß enthält die so<br />

entstande Struktur in den Knoten die Teilungsebenen 5 und in den Blättern die Polygone der Szene.<br />

Zum Zeichnen der Szene kann nun relativ einfach die Sichtbarkeit der Polygone und deren Zeichnungsreihenfolge<br />

bestimmt werden. Dazu muss jeweils mit Hilfe der Position des Sichtpunkts in<br />

Bezug auf die Teilungsebenen der BSP-Baum durchlaufen werden und die Polygone entsprechend<br />

ihrer Sichtbarkeit und Entfernung zum Sichtpunkt gezeichnet werden.<br />

Der große Vorteil dieses Verfahrens liegt darin, dass der aufwendigere Teil der Berechnung, nämlich<br />

die Berechnung des Baums, nur einmal erfolgen muss und das Durchlaufen des Baums zur Laufzeit<br />

relativ ressourcenschonend ist.<br />

4 Ein Level-Editor ist ein Programm, mit dem eine virtuelle Welt erstellt werden kann.<br />

5 Im obersten Knoten die erste und von dort ausgehend die jeweiligen Teilungsebenen der entstandenen Seiten.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!