- Displacement Mapping
-
View-dependent Displacement Mapping (VDM) bezeichnet eine Technik in der Computergrafik, die angewandt wird, um einer Oberfläche eines dreidimensionalen Objektes eine höhere Detailtreue zu geben und damit eine realistischere Darstellung zu erreichen.
Inhaltsverzeichnis
Grundlagen
3D-Objekte in der Computergrafik bestehen zunächst einmal aus einem Gitternetz bzw. Polygonen, über die später eine sogenannte Textur (beispielsweise das Bild einer Mauer) gelegt wird. Man kann sich das Texturieren, also das Anbringen einer Textur so vorstellen, als ob auf das Drahtgittermodell eines darzustellenden Objektes dessen Oberfläche aufgeklebt würde. Neben der eigentlichen Textur, die meist die letztendliche farbliche Ausgestaltung der Oberfläche bewirkt, werden auch andere Arten von Texturdaten, die beispielsweise die Oberflächenbeschaffenheit beschreiben, manchmal als "Textur" bezeichnet.
Anwendung
Gemeinsam mit der eigentlichen Textur des Objektes wird - meist aus dieser - eine sogenannte Height-map (eng. für Höhenkarte, Relief) erzeugt. Dies ist ein Bild in dem meist Graustufen zur Angabe von Höheninformationen verwendet werden. Aus diesen lässt sich also ein Querschnitt durch die zu erstellende Oberfläche und damit ein Relief erzeugen.
Die Punkte des Gitternetzes (Vertices) werden entsprechend diesen Texturinformationen entlang ihrer Normalen, das heißt senkrecht zur Oberfläche verschoben. So ist es beispielsweise möglich ein Höhenrelief durch das Anwenden einer Displacement Map auf eine planare Oberfläche zu übertragen und dieser damit eine rauhe Struktur zu verleihen. Zusätzlich zur Verschiebung kann es in Abhängigkeit von der Dichte des Drahtgitters notwendig werden, dieses zu verfeinern. Man spricht dann von Tesselation (Parkettierung, en:Tessellation).
Beispiel
Im Beispiel soll einer Mauer mittels Displacement Mapping eine Oberfläche beschert werden, in der jeder einzelne Ziegelstein im Verhältnis zur Fuge ein wenig vorspringt. Als Vorlage verwendet man eine entsprechende Textur (Abbildung 1). Diese wird zum Erstellen der Height-map (Abbildung 2) verwendet.
- Aus der Height-map werden die Höheninformationen der Oberfläche gewonnen und
- auf die Oberfläche projiziert. Dabei wird es notwendig, das Gitternetz der Oberfläche zu verfeinern, um die neue Struktur darstellen zu können.
- Die Punkte (Vertices) des neuen Gitternetzes werden entlang ihrer Normalen um den in den Höheninformationen angegebenen Abstand verschoben.
- Die resultierende dreidimensionale Struktur bildet wie gewünscht aus der planaren Oberfläche die vorspringenden Ziegelsteine nach.
Vorteile gegenüber anderen Verfahren
Im Gegensatz zu anderen ähnlichen Verfahren (siehe unten) hat Displacement Mapping den großen Vorteil, dass die Geometrie des Objektes tatsächlich verändert wird. Das heißt, betrachtet man eine Oberfläche aus der Nähe in einem flachen Winkel, so behält sie trotzdem ihre Struktur. Im Gegensatz dazu bleiben die Oberflächen nach anderen Verfahren absolut planar, sobald man sie "seitlich" betrachtet, und die Effekte, die durch bloße Farbänderungen eine Struktur simulieren, gehen so verloren. Auch im Zusammenhang mit Lichtquellen und Schatten hat Displacement Mapping einen entscheidenden Vorteil gegenüber konkurrierenden Vorgehensweisen, da die veränderte Geometrie natürlich auch hier größeren Realismus bringt, wenn beispielsweise eine entsprechend veränderte Oberfläche in einem flachen Winkel Schatten wirft.
Siehe auch
Weblinks
- Demo-Applet (erfordert entsprechende Hardwareunterstützung der Grafikkarte)(Offline)
Wikimedia Foundation.