Verwendung von hochauflösenden Texturen zur Echtzeit Darstellung

Diplomarbeit von Bernd Böning

Motivation

Um auf der Weltkugel eine bestimmte Information (z.B. eine bestimme Stadt) oder Position zu finden ist es bei der Standardvorgehensweise nötig, eine Karte nach diesen Informationen zu durchsuchen. Diese gliedert sich üblicherweise in diverse Teilkarten, wodurch schnell der Gesamtüberblick verloren geht.
Es gibt zwar auch Gesamtansichten der Erdkugel, welche sich aber nicht frei bewegen lassen. Eine Alternative ist der Globus. Er lässt sich relativ freizügig bewegen. Denn noch ist er nicht so flexibel, um z.B. gezielt Informationen über frei wählbare Städte anzuzeigen. Weder der Globus noch die Landkarte gestatten es, eine beliebige Region detaillierter zu betrachen.
Wenn gerade diese Merkmale gefragt sind, bietet sich die Möglichkeit an, die Erdkugel mit dem Computer als 3D-Modell zu visualisieren. Diese kann u.a. um die Eigenschaften erweitert werden, die ein Atlas oder Globus nicht hat.
Ein denkbares Szenario könnte eine Visualisierung der aktuellen Wetterkarte sein. Die Wetterkarte kann in diesem Szenario über das Internet verfügbar gemacht werden (s.a. OpenSG) und somit für die fortwährend steigende Anzahl der Internetbenutzer nutzbar werden.
Mit den immer besseren Graphik-Boards wird das Modellieren von 3D-Scenen immer mehr in den Vordergrund rücken. Projekte wie OpenSG, Java3DGL4Java und das namensverwandte Project OpenSceneGraph zeigen das Bedürfnis, das Interface zu OpenGL zu vereinfachen.

Aufgabenstellung

Es soll im Rahmen der Diplomarbeit eine Kugel generiert werden, auf die detailreiche Texturen gelegt werden. Ein Schwerpunkt ist die Lössung des Problems, wie sich die grossen Texturen möglichst sinnvoll aufbereiten lassen, um ein Texturmapping auf der Kugel zu ermöglichen. Die Problematik bezieht das Studium von S3TC(S3 TextureCompression) mit ein. S3TC soll für die Texturen implementiert werden. Ein weiterer wichtiger Punkt in der Aufgabenstellung ist das LOD (Level Of Detail) der Texturen. Bei größerer Entfernung der Kugel sind Texturen mit weniger Detail sinvoll.
Um der Geometrie ein eleganteres Aussehen zu verleihen, soll analysiert werden, welche Art des Bumpmapping sich am besten eignet. Dabei sollten auch Informationen über Shader diskutiert werden. Die Wahl des Bumpmapping soll begründet werden.
Im weiteren sollen Städte, die dynamisch aus einer Eingabequelle gelesen werden, auf der Weltkugel angezeigt werden. Die aktuelle Koordinate auf der Erde soll mit Hilfe eines Eingabegerätes (z.B. eine Maus) ausgegeben werden. Die Realisierung der Aufgabe soll mit dem Framework OpenSG(OpenSceneGraph) gelöst werden.

Ziel der Arbeit

Das Ergebnis der Implementierung soll als Zielsetzung eine möglichst detaillierte und flexible Übersicht der Erde liefern.
Die Anwendung kann sich auf das einfache Navigieren auf der Erdkugel bis hin zu Wetter- und Klimakarten beziehen.
Das Bumpmapping in diesem Zusammenhang stellt eine sinnvolle fiktive Erweiterung der Geometrie dar, welche ich in diesem Zusammenhang bisher nicht gefunden habe. Ein ähnliches Projekt findet man auch hier. Die Unterstützung von "Virtual Reality" wie bei dem genannten Projekt ist hier nicht in Planung.
Auf der Webseite OpenSceneGraph befinden sich einige Grafiken, die ausschnittsweise verdeutlichen, welches Ziel diese Diplomarbeit verdeutlicht.

Realisierung

Das Ziel der Diplomarbeit ist die Entwicklung eines Programms in C++, das sich in OpenSG einbetten lässt. Dieses soll sich aus den Recherchen bezüglich der Aufgabenstellung ergeben.
Als Interface zur Hardware soll OpenGL verwendet werden. Dazu werden möglicherweise auch Implementierungen verwendet, die speziell auf den Hersteller Nvidia zugeschnitten sind. Die Software soll unter Linux laufen.
Für das Bumpmapping soll ein sogenanntes unechtes Bumpmapping mit Hilfe einer zusätzlichen Textur aus Normalvektoren verwendet werden.
Auf der Webseite Visibleearth befinden sich die Texturen, die in der Diplomarbeit eingesetzt werden.

Für weitere Informationen bitte E-Mail an berni@uni-paderborn.de.