Page 1
§7. Abbildungsverfahren
1
Inhaltsverzeichnis - Themen
§1 Hardwaregrundlagen
§2 Transformationen und Projektionen
§3 Repräsentation und Modellierung von Objekten
§4 Visibilität und Verdeckung
§5 Rasterung
§6 Rendering
§7 Abbildungsverfahren
7.1 Texture-Mapping
7.2 Bump-Mapping
7.3 Environment-Mapping
7.4 Weitere Verfahren
§8 Freiformmodellierung
Anhang: Graphiksprachen und Graphikstandards
Anhang: Einführung in OpenGL
Weitere Themen: Netze, Fraktale, Animation, ...
Page 2
§7. Abbildungsverfahren
2
7. Abbildungsverfahren
Motivation Reale Umgebung verfügt über ein großes Spektrum
geometrischer Formen und physikalischer Materialien
Maserungen und Muster von Oberflächen
Strukturen unebener Flächen
Hintergrund und Spiegelungen
mit hohem Detailgrad
Exakte Nachbildung dieser Objekte ist meist zu aufwändig.
Page 3
§7. Abbildungsverfahren
3
Überblick
1. Texture-Mapping:
Muster auf eine glatte Fläche aufbringen
2. Bump-Mapping:
Glatte Oberflächen rauh erscheinen lassen
3. Environment-Mapping:
Umgebung auf einer Fläche abbilden
4. Weitere Verfahren:
1. Chrome-Mapping
2. Displacement-Mapping
3. Opacity-Mapping
7. Abbildungsverfahren
Page 4
§7. Abbildungsverfahren
4
Was ist Texture-Mapping?
Aufbringen von 2D-Texturen auf eine 3D-Oberfläche
Ermöglicht komplexe Gestaltung einfacher Objekte
Beispiel
Blick aus dem Fenster
Spiegelbild
Parkettboden
7.1 Texture-Mapping
Page 5
§7. Abbildungsverfahren
5
Texturen
Funktionen, die Punkte des (u,v)-Texturraums auf
(r,g,b)-Werte abbilden:
7.1 Texture-Mapping
0;1 ,
),(),,(
vumit
vuCbgr tex
u
v
Page 6
§7. Abbildungsverfahren
6
7.1 Texture-Mapping
Diskrete und prozedurale Texturen
Diskret: Werden als Vektorfelder C abgespeichert.
Ein Vektor enthält Farbkomponenten und wird als
Texel bezeichnet.
Vorteile
Vorrat unerschöpflich (Fotoapparat, Scanner, Downloads…)
Photorealismus möglich
Nachteile
Hoher Speicherbedarf
Unstimmiger Kontext von Szene und Textur (Schattenwurf…)
Anfällig für Artefakte und Aliasing
Rekonstruktion der Texturwerte notwendig
jiC ,
Page 7
§7. Abbildungsverfahren
8
Diskrete und prozedurale Texturen
Prozedural: Bei jedem Aufruf von wird eine
mathematische Formel bzw. ein Algorithmus ausgewertet.
Vorteile
Minimaler Speicheraufwand
Texturen im gesamten Raum definiert
Auflösungsunabhängig
Nachteile
Mathematische Beschreibung
komplexer Texturen ist schwierig.
Nicht photorealistisch
7.1 Texture-Mapping
),( vuCtex
diskret prozedural
Page 8
§7. Abbildungsverfahren
9
7.1 Texture-Mapping
Prinzip
Forward-Mapping:
Zur Visualisierung muss
das inverse Mapping-
Problem gelöst werden:
),,(),( zyxFvu mapinv
),(),,( vuFzyx map
zyxFCbgr mapinvtex ,,),,(
Texturierung entspricht mathematisch der
Hintereinanderausführung von inversem Mapping und
Textur-Funktion:
Page 9
§7. Abbildungsverfahren
10
7.1 Texture-Mapping
Prinzip
Page 10
§7. Abbildungsverfahren
11
Interpolation der Texturkoordinaten
7.1 Texture-Mapping
(u0,v0)
(u1,v1)
(u2,v2)
(u,v)
u
v
Für jedes Pixel:
Interpolation der
Texturkoordinaten
Texture-Lookup: Interpolation der Texturwerte
1. Nearest Neighbour
2. Bilineare Interpolation
Page 11
§7. Abbildungsverfahren
12
Perspektivische Texturierung
7.1 Texture-Mapping
Textur Zu texturierende Fläche Texturierte Fläche
Lineare Interpolation der Texturkoordinaten liefert falsches Ergebnis.
Texturkoordinaten müssen ebenfalls perspektiv transformiert werden.
Page 12
§7. Abbildungsverfahren
13
7.1 Texture-Mapping
Perspektivische Texturierung
Perspektivische Transformation von
Vertex ergibt:
Bildschirmkoordinaten:
Lineare Interpolation der Texturkoordinaten liefert falsches Ergebnis
Lösung
1. Transformation der Texturkoordinaten
2. Lineare Interpolation der Texturkoordinaten innerhalb des Polygons
3. Textur-Abfrage für jedes Pixel mit rücktransformierten Texturkoord.
0.1,,, zyxv
0.1mit ,,, wwzyxvtrans
wp
w
vv
w
uu transtrans
1 , ,
p
v
p
uvu transtrans ,, interp
w
z
w
y
w
x,,
Page 13
§7. Abbildungsverfahren
14
7.1 Texture-Mapping
Prinzip
Page 14
§7. Abbildungsverfahren
15
Zuordnung von Polygonecken und Texturkoordinaten
Bei einfachen Objekten u.U. manuell:
Bei komplexeren Objekten: Two-Part Mapping 1. S-Mapping
Abbildung der Textur auf eine einfache, virtuelle Zwischenfläche (z.B. Quader, Zylinder, Kugeln)
2. O-Mapping
Übertragung von der umhüllenden Zwischenfläche auf das zu texturierende Objekt
7.1 Texture-Mapping
0 u 1
1
v P0 P1
P2 P3
Page 15
§7. Abbildungsverfahren
16
7.1 Texture-Mapping
Zylinder-Mapping
Geeignet für rotationssymmetrische Objekte
Diskontinuität an der Naht (parallel zur Achse)
Parametrisierung zvu ,,
θ
h
h
0 360°
v
u
Page 16
§7. Abbildungsverfahren
17
7.1 Texture-Mapping
Kugel-Mapping
Parametrisierung durch Kugelkoordinaten
Verzerrung, v.a. an den Polen
,, vu
Page 17
§7. Abbildungsverfahren
18
Box-Mapping
Quader als umhüllende Fläche, meist achsenparallele
Bounding-Box des Objekts
Mögliche Parametrisierung
u-Achse: Längste Kante des Quaders
v-Achse:
Zweitlängste Kante
des Quaders
7.1 Texture-Mapping
Page 18
§7. Abbildungsverfahren
20
1. Reflexionsstrahl 2. Objektzentrum
3. Normalenvektor 4. Hilfsobjektnormale
7.1 Texture-Mapping
Techniken des O-Mapping
Page 19
§7. Abbildungsverfahren
21
Bildebene
Objektraum
Zwischenobjekt
Texturebene
7.1 Texture-Mapping
Inverse Abbildung mit Zwischenobjekt
Page 20
§7. Abbildungsverfahren
22
7.1 Texture-Mapping
(u0,v0)
(u1,v1)
(u2,v2)
(u,v)
u
v
Pixel-Raster Textur-Raster
Welche Probleme können bei der Abbildung
von Pixel- auf Textur-Raster auftreten?
Abtastprobleme
Page 21
§7. Abbildungsverfahren
23
Pixel-Raster
Textur-Raster
7.1 Texture-Mapping
Magnification / Oversampling
Pixel-Raster ist feiner als Textur-Raster
Ein Texel wird auf mehrere Pixel abgebildet.
Texturen erscheinen daher verschwommen.
Abhilfe: Auflösung der Textur erhöhen.
Page 22
§7. Abbildungsverfahren
24
Textur-Raster
Pixel-Raster
Minification / Undersampling Pixel-Raster ist gröber als Textur-Raster
Ein Pixel wird auf mehrere Texel abgebildet.
Aliasing, da Abtastfrequenz zu gering
Abhilfe: Nach Fläche gewichteten Mittelwert der Texel bestimmen. Exakte, aber zu aufwändige Lösung
7.1 Texture-Mapping
Page 23
§7. Abbildungsverfahren
25
7.1 Texture-Mapping
Mip-Mapping
Auflösung der Textur sollte der im Bildraum entsprechen
Problematisch, wenn Auflösung im Bildraum variiert
Textur in verschiedenen Auflösungen bereithalten
Quadratische Texturen mit Kantenlänge (Zweierpotenz)
Rekursives Downsampling z.B. Mitteln von 4 Pixeln
kn 2
Stufe d = 0 1 2 3 4 5….
Page 24
§7. Abbildungsverfahren
26
Mip-Mapping
Benötigt nur etwa 1/3 mehr Speicher als einzelne Textur.
7.1 Texture-Mapping
Beispiel: RGB-Textur
Page 25
§7. Abbildungsverfahren
27
Mip-Mapping – Idee
1. Bestimme Footprint des
Pixels auf der Textur
2. Längste Kante bestimmt
Mipmap-Stufe d
3. Interpoliere Texel aus
Textur der Stufe d
Ergebnis: Antialiasing
…da der verwendete Texel
immer in etwa der Größe des
Footprints entspricht
7.1 Texture-Mapping
Footprint
Page 26
§7. Abbildungsverfahren
28
Holzmaserung Perlin Marmor
7.1 Texture-Mapping
3D-Texturen / Festkörpertexturen
Handhabung analog zu 2D-Texturen
(Anschaulicher) Unterschied zu 2D-Texturen:
Objekt wird aus Textur ausgeschnitten statt damit beklebt
Prozedurale Ansätze erlauben wirklichkeitsgetreue 3D-Muster:
Page 27
§7. Abbildungsverfahren
29
7. Abbildungsverfahren
Motivation Reale Umgebung verfügt über ein großes Spektrum
geometrischer Formen und physikalischer Materialien
Maserungen und Muster von Oberflächen
Strukturen unebener Flächen
Hintergründe und Spiegelungen
mit hohem Detailgrad
Exakte Nachbildung dieser Objekte ist meist zu aufwändig.
Page 28
§7. Abbildungsverfahren
30
7.2 Bump-Mapping
Bump-Mapping
Ziel
Rauhere und plastischere Erscheinung eines Objekts
Ohne Veränderung der Geometrie
Simulation von Oberflächenunebenheiten durch
Manipulation der Normalenvektoren
Struktureffekt nur durch Beleuchtung
Page 29
§7. Abbildungsverfahren
31
7.2 Bump-Mapping
Exakte Modellierung sähe so aus….
Page 30
§7. Abbildungsverfahren
32
7.2 Bump-Mapping
Prinzip
Für Beleuchtung nur Normale relevant, nicht Lage des
Punktes auf der Fläche. Daher:
Originalgeometrie mit veränderten Normalen kombinieren
Anmerkungen Bump-Mapping nur mit Verfahren möglich, die
Beleuchtung explizit in jedem Flächenpunkt auswerten
(Phong-Shading, Raytracing, aber kein Gouraud)
Schatten und Silhouetten der
Objekte bleiben glatt.
Page 31
§7. Abbildungsverfahren
33
7.2 Bump-Mapping
Umsetzung
Prozedurale Veränderung der Normalen
Normalen als RGB-Textur gegeben (Normal Map)
Höhenfeld als 2D-Skalarfeld (Grauwerttextur) gegeben
Addition des Höhenfeldes auf die Geometrie
Berechnung der Normalen über Richtungsableitungen
dieser Offsetfläche
vu PPN
Page 32
§7. Abbildungsverfahren
34
7. Abbildungsverfahren
Motivation Reale Umgebung verfügt über ein großes Spektrum
geometrischer Formen und physikalischer Materialien
Maserungen und Muster von Oberflächen
Strukturen unebener Flächen
Hintergrund und Spiegelungen
mit hohem Detailgrad
Exakte Nachbildung dieser Objekte ist meist zu aufwändig.
Page 33
§7. Abbildungsverfahren
35
7.3 Environment-Mapping
Environment-Mapping
Modellierung von Interobjekt-Reflexionen
Abbildung einer komplexen Umgebung auf ein spiegelndes
Objekt mit Hilfe von Texturen
Günstige Alternative zum Raytracing
Keine Verdeckungsrechnung
Page 34
§7. Abbildungsverfahren
36
7.3 Environment-Mapping
Vorgehen
Zwischenobjekt (Würfel, Kugel) umhüllt Objekt
Umgebungstextur auf Innenseite des Zwischenobjekts
aufgetragen
Texturkoordinaten abhängig vom Reflexionsvektor
Page 35
§7. Abbildungsverfahren
37
7.3 Environment-Mapping
Verwendung einer Kugel
Probleme
Reflexionsberechnung nur
exakt, wenn sich Objekt P im
Mittelpunkt befindet
Schwierige Erstellung der
Umgebungstextur
Schlechte Parametrisierung
Aliasing-Probleme
Page 36
§7. Abbildungsverfahren
38
7.3 Environment-Mapping
Sphere Mapping
Unterstützt von OpenGL
Abbildung einer umhüllenden Kugel auf eine 2D-Textur
Page 37
§7. Abbildungsverfahren
39
7.3 Environment-Mapping
Sphere Mapping - Probleme
Ebenfalls schwierige Erstellung
Rendering
Foto einer spiegelnden Kugel
Umrechnung aus planaren Texturen (Würfel)
Abtastrate über Textur nicht regelmäßig
Interpolation der Texturkoordinaten führt zu Fehlern, v.a.
am Rande der Sphere
Page 38
§7. Abbildungsverfahren
40
7.3 Environment-Mapping
Verwendung eines Würfels
Beispiel
Page 39
§7. Abbildungsverfahren
41
7.3 Environment-Mapping
Verwendung eines Würfels
Einfachere Erstellung der Textur
Anti-Aliasing durch Sichtpyramide
Schlechte Parametrisierung, doch besser als bei Kugel
Page 40
§7. Abbildungsverfahren
42
7.4 Weitere Verfahren
Chrome-Mapping
Abbildung eines willkürlichen Musters (chrome map) auf
eine reflektierende Oberfläche
Künstliche Unschärfe
Textur fest im Raum (daher geeignet für Animationen)
Page 41
§7. Abbildungsverfahren
43
7.4 Weitere Verfahren
Displacement Mapping
Ziel: Plastischere Erscheinung der Oberfläche
Unterschied zum Bump-Mapping:
Verschieben der Oberflächenpunkte gemäß Höhenfeld
entlang der Normalen
Meist Kombination mit Textur
Vorteil: Schatten & Silhouette erscheinen nicht mehr glatt.
Page 42
§7. Abbildungsverfahren
44
7.4 Weitere Verfahren
Opacity-Mapping / Transparency-Mapping
Ziel: Transparenz von Objekten lokal kontrollieren
Opacity-Map
Grauwerte entsprechen Alpha-Wert
Von schwarz (opaque) bis weiß (transparent)
Page 43
§7. Abbildungsverfahren
45
Zusammenfassung
Abbildungsverfahren
Erzielte Effekte
Veränderte Maserungen und Muster einer glatten Fläche
(Texture-Mapping, Chrome-Mapping)
Modellierung rauher Oberflächen (Bump- oder
Displacement-Mapping)
Abbildung komplexer Umgebung auf Objekte (Environment-
Mapping)
Kombination der Verfahren möglich
Echtzeit durch Hardwareunterstützung meist kein Problem
Page 44
§7. Abbildungsverfahren
46
Quellen
Computergraphik, Universität Leipzig
(Prof. D. Bartz)
Graphische Datenverarbeitung I, Universität Tübingen
(Prof. W. Straßer)
Graphische Datenverarbeitung I, TU Darmstadt
(Prof. M. Alexa)
Computergraphik, Uni Siegen (Prof. Klomfaß)