Bump mapping

Bump mapping

Bumpmapping, auch Reliefzuordnung, ist eine Technik zur Darstellung von extrem detailreichen Objekten, ohne die Geometriekomplexität des Objekts zu erhöhen, die vor allem in 3D-Visualisierungsprogrammen zum Einsatz kommt. Der Trick dabei ist, dass die benötigten Informationen in einer Textur gelagert werden, mit deren Hilfe Schattierungen auf eine Oberfläche gezeichnet werden.

Bumpmapping ist somit nur eine (wenngleich wirksame) Illusion, welche Oberflächenunebenheiten simuliert, die in der Geometrie des Modells gar nicht vorhanden sind.

Es verbessert die Bildqualität und den Realismusgrad, ohne sich groß auf die fürs Rendern benötigte Zeit niederzuschlagen. Außerdem ist das Einsatzgebiet nicht nur auf Schattierungen begrenzt. Reflexionen können mit dieser Technik genauso behandelt werden. Bumpmapping spielt bereits eine große Rolle in Projekten der Unterhaltungsindustrie, da sich die visuelle Qualität deutlich verbessern lässt, ohne die Leistung dabei nennenswert zu beeinträchtigen.

Voraussetzung für die Verwendung von Bumpmaps ist ein Beleuchtungsmodell, das auf Per-Pixel-Lighting basiert. APIs wie DirectX oder OpenGL haben die nötigen Routinen bereits vorliegen. Meistens wird jedoch eine Kombination aus Vertex und Pixel-Shadern verwendet, um die nötigen Effekte exakt zu kontrollieren.

Inhaltsverzeichnis

Height-Mapping

Die relativen Höheninformationen liegen in einer Textur in Form von Graustufen vor - der sog. Heightmap. Jeder Grauwert steht für eine bestimmte Höhe. Normalerweise ist Schwarz (Wert 0) die „tiefste“ Stelle und Weiß (Wert: 255) die „höchste“. Diese Form der Datenspeicherung ist nicht nur auf Bumpmapping beschränkt, viel öfter kommt sie bei der Generierung von riesigen Terrains zum Einsatz.

Da Höhenunterschiede nur durch verschiedene Graustufen auf der Textur vorgegaukelt werden, die Flächen aber glatt bleiben treten einige sichtbare Fehler auf:

  • Bei flachem Betrachtungswinkel wirkt die Struktur stark verzerrt.
  • Die Silhouette bleibt so eben wie beim ursprünglichen Objekt.
  • Es wird ein glatter Schatten geworfen.
  • Bumps werfen keine Schatten aufeinander.

Normal-Mapping

In einer Normal Map werden anstatt von Höheninformationen Vektoren in ein RGB-Farbentripel konvertiert. Jeder Pixel besteht aus 3 Farbenkanälen: Rot, Grün und Blau. Diese können als X,Y und Z interpretiert werden: der Vektor muss nur mehr normalisiert werden, um daraus den Helligkeitsfaktor am betreffenden Punkt zu berechnen (siehe Per-Pixel-Lighting). Hierbei muss beachtet werden, dass der Vektor, der aus den Farbwerten berechnet wird, im Tangentenraum vorliegt. Um die nötigen Berechnungen durchführen zu können, muss dieser Vektor in das Weltkoordinatensystem transformiert werden. Alternativ könnten auch alle anderen Vektoren (Kamera-Punkt, Licht-Punkt) in das Tangentenkoordinatensystem verschoben werden.

Anwendung

einfache Kugel
Obwohl zum vorhergehenden Objekt geometrisch identisch, sieht dieses dank Bump Mapping viel detailreicher aus.
Die in Bild 2 verwendete Bump-Map (Heightmap)

Der 3D-Modeller baut zwei Versionen eines Modells auf: eine hochauflösende, sehr detailreiche (100.000+ Polygone) und eine für das fertige Programm bestimmte, undetaillierte (100–10.000 Polygone). Ein Programm berechnet den Unterschied zwischen den beiden Modellen und beschreibt mit den gewonnenen Daten eine Textur. Diese Textur wird dann auf das Low-Poly-Modell gespannt. Im fertigen Spiel/Bild/Anwendung bekommt der Benutzer den Eindruck, dass das hochdetaillierte Modell verwendet wird.

Außerdem kann eine Heightmap in eine Normalmap umgewandelt werden, welche heutzutage am häufigsten verwendet wird.

Virtual Displacement-Mapping

Parallax-Mapping der Qfusion-Engine (Spiel Nexuiz)

Eine noch plastischer wirkende Darstellung. Wurde entwickelt, als Displacement Mapping noch nicht in Echtzeit möglich war, und wird auch heute noch gerne zur Ersparnis von Rechenzeit verwendet.

Im Unterschied zum richtigen Displacement Mapping, bei dem sich die Geometriekoordinaten ändern, werden hier die Texturkoordinaten auf Per-Pixel-Basis modifiziert um Beleuchtungseffekte zu erzeugen. Die einfachste dieser Varianten nennt sich Parallax Mapping und berechnet relativ zur Kameraposition aus einer Heightmap die neuen Texturkoordinaten.

Der Nachteil ist, dass eigentlich nicht sichtbare Pixel trotzdem gerendert werden. Abhilfe schafft nur das Speichern zusätzlicher Beziehungen zwischen Texel (Verdeckungen) über weitere Texturen (View-Dependent Mapping). Außerdem ist zu beachten, dass die Oberfläche des Objekts weiterhin vollkommen flach bleibt, da nur die Helligkeitswerte der Textur verändert werden und nicht, wie beim Displacement Mapping, die Form des Objekts. Das fällt besonders bei flachem Betrachtungswinkel, und an den Objektkanten unschön auf.

Allerdings leiden darunter auch die anderen Beleuchtungsarten, wenn auch nicht so sehr.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Bump mapping — is a computer graphics technique where at each pixel, a perturbation to the surface normal of the object being rendered is looked up in a heightmap and applied before the illumination calculation is done (see, for instance, Phong shading). The… …   Wikipedia

  • Bump mapping — Saltar a navegación, búsqueda Bump mapping es una técnica de gráficos computacionales 3D que consiste en dar un aspecto rugoso a las superficies de los objetos. Se emplea para dar un efecto de relieve en las superficies de los objeto. Esta… …   Wikipedia Español

  • Bump Mapping —   [dt. »Beulenkarte«], ein Verfahren zur Darstellung von Oberflächenstrukturen an dreidimensionalen Objekten. Durch den Effekt werden beim Rendering Schattierungen durch kleine Helligkeitsabstufungen auf der Oberfläche erzeugt, die einen Eindruck …   Universal-Lexikon

  • Bump-Mapping — Bumpmapping, auch Reliefzuordnung, ist eine Technik zur Darstellung von extrem detailreichen Objekten, ohne die Geometriekomplexität des Objekts zu erhöhen, die vor allem in 3D Visualisierungsprogrammen zum Einsatz kommt. Der Trick dabei ist,… …   Deutsch Wikipedia

  • Bump Mapping — Bumpmapping, auch Reliefzuordnung, ist eine Technik zur Darstellung von extrem detailreichen Objekten, ohne die Geometriekomplexität des Objekts zu erhöhen, die vor allem in 3D Visualisierungsprogrammen zum Einsatz kommt. Der Trick dabei ist,… …   Deutsch Wikipedia

  • Bump-mapping — Placage de relief Le placage de relief (en anglais Bump mapping) est un terme informatique qui désigne la technique utilisée, par exemple dans les jeux vidéo, et qui sert à donner du relief aux objets, textures ou à toutes autres choses en 2D ou… …   Wikipédia en Français

  • Bump mapping — Placage de relief Le placage de relief (en anglais Bump mapping) est un terme informatique qui désigne la technique utilisée, par exemple dans les jeux vidéo, et qui sert à donner du relief aux objets, textures ou à toutes autres choses en 2D ou… …   Wikipédia en Français

  • Bump Mapping — …   Википедия

  • bump mapping — noun A technique where a perturbation to the surface normal of the object being rendered is applied to each pixel, based on a texture map, prior to calculating the illumination, so as to produce a richer, more detailed surface representation …   Wiktionary

  • bump mapping — ● ►en loc. m. ►GRAPH Technique d imagerie de synthèse consistant à plaquer une image bitmap sur un objet pour lui donner une certaine texture. C est assez rudimentaire, mais efficace quand même …   Dictionnaire d'informatique francophone

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”