MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
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.