Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

31
Helwig Hauser Teil 4: Texturing Teil 4: Texturing Farbe, Struktur, Umgebung

Transcript of Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Page 1: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Teil 4: Texturing

Farbe, Struktur, Umgebung

Page 2: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Wozu?Mit Textur: Farbe Oberflächenstruktur Reflexion, Transparenz Highlights

Page 3: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

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

Page 4: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Textur – AbbildungenTexturraum (u,v)T

Objektraum (x,y,z)T

Bildraum (x,y)T

Parametrisierung

Rendering

Page 5: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Textur – Beispiel

Page 6: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

ParametrisierungMeist verschiedene Parametrisierungen

or or …?

Page 7: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

2D Texturen – Beispiel

Page 8: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Sold Texturing

object + texture =

3D Textur: innere StrukturTexturing: wie Ausschneiden

Page 9: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

2D Textur vs. 3D Textur

Page 10: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Solid Texturing – mehr Beispiele

Page 11: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Bump MappingBump Mapping = Vortäuschen von geometrischen Details Normalvektorvariation per Textur

+ =T(u,v)

Page 12: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Bump Mapping (2)Bump Mapping = Vermeidung von

viel Geometrie Normale

verwackeln

+ =T

v

u

Surface

P

N

Pv P

u

P

N

D

Page 13: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Bump Mapping – BeispielNormale Textur Bump Mapping

Unterschied: Shading 3D Eindruck

Perlin, SIGGRAPH85

Page 14: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

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

Page 15: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Abhilfe: Horizon MappingSchatten von bumps vortäuschen!

u

v

Horizont-Kontur vorberechnen

Page 16: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Horizon Mapping – BeispielUnterschied zu Bump Mapping: Bumps haben

Schatten Bumps liegen im

Schatten

Page 17: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Horizon Mapping – Vergleich

ohne

mit

Page 18: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Environment MappingStatt komplexer Szene:Umgebung per Textur simulieren

Blinn, CACM 76

Page 19: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

6-Seiten Maps, Kugel-Maps

Umgebung wird zuerst auf Textur abgebildet.

+ +

Page 20: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Kugelförmige MapWenn Kugel groß: Speicherung in

Polarkoordinaten Abruf nur per

Richtung

Page 21: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

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

Page 22: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Environment Mapping – Beispiel

Page 23: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

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

Page 24: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Anti-Aliasing von TexturenIn Verwendung: Annäherungen:

Optionen:- convolution on demand- pre-filtering

Page 25: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Aliasing mit Texturen – Beispiele

Page 26: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Mip-Mapping

D

Verschiedene Auflösungen vorberechnetDrei Farben: effiziente Speicherung

Mip: multum in parvo

Page 27: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Mip Mapping – Beispiel

Je nach Verzerrungsverhältnis, wird die entsprechende Textur gewählt.

Page 28: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

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

Page 29: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Summed Area TableSummen speichern statt Texturwerte:

u

v

u

v

(u0,v0)

Page 30: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

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!

Page 31: Helwig Hauser Teil 4: Texturing Farbe, Struktur, Umgebung.

Helwig Hauser Teil 4: Texturing

Anti-Aliasing von Texturen – Bsp.