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

Post on 06-Apr-2015

107 views 0 download

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

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

Pv P

u

P

N

D

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.