Upload
gotthard-kassel
View
108
Download
0
Embed Size (px)
Citation preview
Helwig Hauser Teil 4: Texturing
Teil 4: Texturing
Farbe, Struktur, Umgebung
Helwig Hauser Teil 4: Texturing
Wozu?Mit Textur: Farbe Oberflächenstruktur Reflexion, Transparenz Highlights
Helwig Hauser Teil 4: Texturing
Textur – was ist das?Textur = Eigenschaft, separat definiert 2D Textur: wie
Aufdruck (Tapete) 3D Textur: innere
Struktur (Holz)
Textur wird in Texturraum definiertAufbringung per Parametrisierung (x,y,z)
(x,y,z)
(u,v,w )
(u,v)
Textur
2D
3D
Helwig Hauser Teil 4: Texturing
Textur – AbbildungenTexturraum (u,v)T
Objektraum (x,y,z)T
Bildraum (x,y)T
Parametrisierung
Rendering
Helwig Hauser Teil 4: Texturing
Textur – Beispiel
Helwig Hauser Teil 4: Texturing
ParametrisierungMeist verschiedene Parametrisierungen
or or …?
Helwig Hauser Teil 4: Texturing
2D Texturen – Beispiel
Helwig Hauser Teil 4: Texturing
Sold Texturing
object + texture =
3D Textur: innere StrukturTexturing: wie Ausschneiden
Helwig Hauser Teil 4: Texturing
2D Textur vs. 3D Textur
Helwig Hauser Teil 4: Texturing
Solid Texturing – mehr Beispiele
Helwig Hauser Teil 4: Texturing
Bump MappingBump Mapping = Vortäuschen von geometrischen Details Normalvektorvariation per Textur
+ =T(u,v)
Helwig Hauser Teil 4: Texturing
Bump Mapping (2)Bump Mapping = Vermeidung von
viel Geometrie Normale
verwackeln
+ =T
v
u
Surface
P
N
P´
Pv P
u
P
N
D
N´
Helwig Hauser Teil 4: Texturing
Bump Mapping – BeispielNormale Textur Bump Mapping
Unterschied: Shading 3D Eindruck
Perlin, SIGGRAPH85
Helwig Hauser Teil 4: Texturing
Bump Mapping – mehr Beispiele
Problem: Trick sichtbar am Rand!Problem: Bumps haben keine Schatten!
Blinn, SIGGRAPH78 Blinn, SIGGRAPH78 Blinn, SIGGRAPH78
Helwig Hauser Teil 4: Texturing
Abhilfe: Horizon MappingSchatten von bumps vortäuschen!
u
v
Horizont-Kontur vorberechnen
Helwig Hauser Teil 4: Texturing
Horizon Mapping – BeispielUnterschied zu Bump Mapping: Bumps haben
Schatten Bumps liegen im
Schatten
Helwig Hauser Teil 4: Texturing
Horizon Mapping – Vergleich
ohne
mit
Helwig Hauser Teil 4: Texturing
Environment MappingStatt komplexer Szene:Umgebung per Textur simulieren
Blinn, CACM 76
Helwig Hauser Teil 4: Texturing
6-Seiten Maps, Kugel-Maps
Umgebung wird zuerst auf Textur abgebildet.
+ +
Helwig Hauser Teil 4: Texturing
Kugelförmige MapWenn Kugel groß: Speicherung in
Polarkoordinaten Abruf nur per
Richtung
Helwig Hauser Teil 4: Texturing
Environment Map – PrefilternWenn Objekte scharf reflektieren: 1:1 Environment map = o.k.
Bei diffusen Oberflächen: Zuerst: Preprocessing (low pass) Evaluation in Richtung der Flächennormale
Helwig Hauser Teil 4: Texturing
Environment Mapping – Beispiel
Helwig Hauser Teil 4: Texturing
Aliasing-Probleme mit Texturen
Parametrisierung nicht flächentreu!
Unter-schiedlich viel Textur pro Pixel
u
v texture space image space
pixel
Helwig Hauser Teil 4: Texturing
Anti-Aliasing von TexturenIn Verwendung: Annäherungen:
Optionen:- convolution on demand- pre-filtering
Helwig Hauser Teil 4: Texturing
Aliasing mit Texturen – Beispiele
Helwig Hauser Teil 4: Texturing
Mip-Mapping
D
Verschiedene Auflösungen vorberechnetDrei Farben: effiziente Speicherung
Mip: multum in parvo
Helwig Hauser Teil 4: Texturing
Mip Mapping – Beispiel
Je nach Verzerrungsverhältnis, wird die entsprechende Textur gewählt.
Helwig Hauser Teil 4: Texturing
Mip Mapping – Interpolation2D = max(d1,d2)D: TexturebeneBeispiel: D=2.3
vtexture image space
pixeld1
d2
T0 = Texturwert aus Ebene trunc(D)T1 = Texturwert aus Ebene trunc(D)+1Ergebniswert: lineare Interpolation
Helwig Hauser Teil 4: Texturing
Summed Area TableSummen speichern statt Texturwerte:
u
v
u
v
(u0,v0)
Helwig Hauser Teil 4: Texturing
Summed Area Table – Evaluieren
(u+,v+)
u
v
T
(u–,v–)
sum = ?
S(u+,v+) – S(u–,v+)
+ S(u–,v–)
– S(u+,v–) = sum
– =
+ =
– =Aufwand: konstant!
Helwig Hauser Teil 4: Texturing
Anti-Aliasing von Texturen – Bsp.