modul: b-cg grundlagen der computergraphik im ... · modul: b-cg grundlagen der computergraphik im...
TRANSCRIPT
1
Hier wird Wissen Wirklichkeit
Modul: B-CG Grundlagen der Computergraphikim Sommersemester 2008
Texturen
Prof. Dr. Detlef KrömkerProfessur für Graphische Datenverarbeitung
Institut für InformatikFachbereich Informatik und Mathematik (12)
Prof. Dr. Detlef KrömkerInstitut für Informatik
2 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Adobe Flash in 5 Days (Johannes Bufe)
Praxis - Workshop mit integrierten ÜbungenGrundlagen Flash Studio CS3Programmierung mit Action Script 3
21.07.2008 – 24.07.2008, 9:00 – 16:00 UhrRaum 601
Voraussetzungen:Grundlegende Programmierfähigkeiten: Sicherer Umgang mit Klassen, Variablen, Schleifen etc.
Ideal: Erfahrung mit einer dem ECMA – Script ähnlichen
Sprache wie Java/Script, C++, C# oder Action Script 2
Max Teilnehmerzahl: 14Kontakt und verbindliche Anmeldung: [email protected]
Prof. Dr. Detlef KrömkerInstitut für Informatik
3 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
LernBar Release 2
- Studio- Player- Portal
� Release 3
� Planspiel (DOME)
Also: mitmachen
Ein Job für die
SS-Ferien ??
2
Prof. Dr. Detlef KrömkerInstitut für Informatik
4 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Übersicht
1. Einführung
2. Diskrete und prozedurale Texturen
3. Generalisierte Textur-Pipeline
4. Texturmapping‣ Ebene Polygone ‣ Zweischrittverfahren
5. Corresponder-Verfahren
6. Texturabtastung‣ Aliasing‣ Mipmap, SAT, FPA
Prof. Dr. Detlef KrömkerInstitut für Informatik
5 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Übersicht (Fortsetzung)
7. Beeinflussung der Beleuchtungsrechnung
8. Spezielle Texturen: 8.1 Environment-Mapping
8.2 Bump Mapping
9. Zusammenfassung
10. Ausblick – Nächste Schritte
Prof. Dr. Detlef KrömkerInstitut für Informatik
6 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Texturierung
3
Prof. Dr. Detlef KrömkerInstitut für Informatik
7 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Texturen
In der Realität finden wir ein großes Spektrum geometrischer Feinstrukturen
• Maserungen und Muster von Holz, Marmorplatten, Tapeten
• Wolken, Rauch,
• Strukturen unebener Oberflächen z.B. Rauhputzwand, rauhes Leder, Apfelsinen oder Baumrinde
• im Hintergrund sichtbare Häuser, Maschinen, Pflanzen und Personen
Die geometrische Form dieser Objekte durch Flächen exakt nachzubilden, ist um Größenordnungen zu aufwendig
„All it takes is for the rendered image to look right.“
Prof. Dr. Detlef KrömkerInstitut für Informatik
8 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Texturen‣ Texturen bieten reichhaltige Möglichkeiten, das visuelle Erscheinungsbild von Objekten detailreicher zu gestalten. ‣ Die Oberfläche einer Wand kann durch eine einzige planare Fläche(ein Polygon) modelliert werden. Ein „Tapezieren“ kann als Aufbringen eines Bildes auf die Wandoberfläche interpretiert werden. ‣ Diesen Vorgang bezeichnet man als Texturierung.‣ In diesem Bild: Die im Fenster sichtbare Außenwelt wird durch ein Bild representiert.
Prof. Dr. Detlef KrömkerInstitut für Informatik
9 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Texturen – das „Mittelding“ zwischen geometrischer Modellierung und klassischer Beleuchtungsrechnung
Geometrisches Modellieren
Oberflächen(grob)strukur durch Geometrie
Beleuchtungsrechnung
Oberflächen(mirko)struktur
durch z.B. Shininess-Faktor
Texturen
aber wie ??
4
Prof. Dr. Detlef KrömkerInstitut für Informatik
10 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Texturabbildungen
Erste einfache Definition:‣ Zweidimensionale Texturen oder kurz 2D-Texturen sind (Bild-) Funktionen, die Punkte der (u,v)-Ebene auf (r,g,b)-Farben abbilden:‣ Das Mapping (engl.: Abbildung) beschreibt, wie eine 2D-Textur bzw. ein Ausschnitt aus einer 2D-Textur auf eine Fläche aufgebracht wird. ‣ Beim Rendering muß jedoch das inverse Mapping-Problem gelöst werden, d.h. den bekannten (x,y,z)-Koordinaten des Flächenpunktes P müssen (u,v)-Koordinaten zugeordnet werden:
),(),,( vubgr texc=
),,()(),( zyxFPFvu mapinvmapinv ==
Prof. Dr. Detlef KrömkerInstitut für Informatik
11 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Texturabbildungen
Prof. Dr. Detlef KrömkerInstitut für Informatik
12 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Texturabbildungen ‣ Die Texturierung einer Fläche mit einer 2D-Textur lässt sich dann
mathematisch durch die Hintereinanderausführung dieser beiden Abbildungen beschreiben:‣ Dreidimensionale Texturen oder kurz 3D-Texturen sind Funktionen, die
Punkte eines (u,v,w)-Raumes auf (r,g,b)-Farben abbilden:
)),,((),,( zyxFCbgr invmaptex=
),,(),,( wvuCbgr tex=
5
Prof. Dr. Detlef KrömkerInstitut für Informatik
13 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
3D-Texturen
Sie werden auch als Festkörpertexturen bezeichnet. Häufig genannte Beispiele
hierfür sind Holz- und Marmortexturen. Beim inversen Mapping
müssen den (x,y,z)-Flächenpunkten (u,v,w)-Koordinaten zugeordnet werden. Man
kann dieTexturierung mit 3D-Texturen auch so interpretieren, daß die Körper
quasi aus dem (u,v,w)-Texturkörper herausgeschnitten werden.
),,(),,( wvuCbgr tex=
Prof. Dr. Detlef KrömkerInstitut für Informatik
14 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Diskrete und prozedurale Texturen
Wir unterscheiden zwischen diskreten und prozeduralen Texturen‣ Diskrete farbige 2D-Texturen der Breite n und Höhe m lassen sich so z.B. durch‣ beschreiben, wobei C[i,j] ein Vektor mit drei Farbkomponenten ist und als Texel (TEXtur ELement) bezeichnet wird.
mjniji ≤≤≤≤ 00),(C
Prof. Dr. Detlef KrömkerInstitut für Informatik
15 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Vorteile diskreter Texturen
+ das Generieren komplexer 2D-Texturen für die photorealistische
Visualisierung geht vergleichsweise schnell und einfach, z.B. durch fotografieren oder malen der Oberflächen.
6
Prof. Dr. Detlef KrömkerInstitut für Informatik
16 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Probleme diskreter Texturen ‣ Texturen mit hoher Auflösung (n,m) haben einen hohen Speicherbedarf. ‣ Beim Vergrößern von Bildern treten Artefakte auf (Pixeleffekte)‣ Beim Mapping auf beliebige Flächen treten Verzerrungen und infolgedessen
Abtast-Probleme auf. ‣ Fortsetzung (Aneinandersetzen, Vergrößern) von Texturen ist oft problematisch‣ Der in den Bildern dargestellte Kontext (Sonnenstand, Schattenwurf, ...) stimmt
häufig nicht mit der geplanten Szene überein. Die Suche nach geeigneten
Vorlagen kann dann sehr aufwendig sein.
Prof. Dr. Detlef KrömkerInstitut für Informatik
17 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Probleme diskreter TexturenResampling ‣ Resampling-Methoden:‣ nächstgelegener Nachbar
(nearest neighbour)
, : u<1,v<1
1 , : u=1,v<1( , )
, 1 : u<1,v=1
1 , 1 : u=1,v=1
tex
C un vm
C n vmC u v
C un m
C n m
− = −
− −
i 1i +un
vm
Prof. Dr. Detlef KrömkerInstitut für Informatik
18 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Probleme diskreter TexturenResampling
2. Bilineare Interpolation
0
1
1 0
ˆ
ˆ
ˆ ˆ( , ) * 1, (1 )* ,
ˆ ˆ( , ) * 1, 1 (1 )* , 1
ˆ ˆ( , ) * ( , ) (1 )* ( , )tex
u un un
v vm vm
C u v u C un vm u C un vm
C u v u C un vm u C un vm
C u v v C u v v C u v
= −
= −
= + + −
= + + + − +
= + −
un
un
vm
1un +
vm
1vm +
3. Aufwendigere Filtern (später)
7
Prof. Dr. Detlef KrömkerInstitut für Informatik
19 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Abtastung diskreter 2D-Texturen ‣ Entspricht einem Resampling
eines Digitalen Bildes‣ Einfache Funktionen wie‣ nearest neightbour‣ bilinbeare Interpolation‣ erzeugen gravierende Aliasing-Effekte
Prof. Dr. Detlef KrömkerInstitut für Informatik
20 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Beispiel (Minification)
Abbildung einer Reihe Pixel auf eine Schachbrett-Textur
Prof. Dr. Detlef KrömkerInstitut für Informatik
21 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
ProblemePixellation oder Unschärfe (Magnification)
Ausgangstextur: 32 x 64 Texels
Nearest bilineare
Neighbour Interpolation
8
Prof. Dr. Detlef KrömkerInstitut für Informatik
22 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Prozedurale Texturen‣ Prozedurale Texturen werten bei jedem Aufruf von Ctex( u, v) bzw. Ctex( u, v, w) eine Formel
bzw. einen (fraktalen) Algorithmus aus. Dies hat folgende Vorteile:
+ Der Speicheraufwand ist minimal. + Die Texturwerte können an jeder Stelle ( u, v) bzw. (u, v, w) mit optimaler Genauigkeit
berechnet werden.
+ Die Texturen sind im gesamten Raum definiert.
- Der entscheidende Nachteil prozeduraler Texturen ist, dass selbst Experten Probleme haben, komplexe Texturen, die sie bildlich vor Augen haben, durch mathematische Formeln
zu beschreiben. (hilfreich sind auf jeden Fall gute Grundkenntnisse der Fourier-Synthese und der fraktalen Geometrie).
Prof. Dr. Detlef KrömkerInstitut für Informatik
23 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Generalisierte 2D-Textur-Pipeline (1)
1. Aus 2D-Bildschirmkoordinaten in den 3D-Objektraum „zurückprojezieren“
2. Anwenden der Projektorfunktion: MappingPlanar, Kugel, Zylinder, Quader (box), bei parametrischen Flächen ggf. nicht nötig
Beim Realtime-Rendering i.d.R. schon beim Modeling ausgeführt und (u,v)-Werte, in den Vertices gespeichert und dann interpoliert. (Aber z.B. OpenGL stellt einige Mappingmethoden zur Verfügung).
Berechne
Objektraum-
koordinaten
Projektor-
funktion
Mapping
Correspon-
der-Funktion
Texturwert-
Transfor-
mation
Modifiziere
Beleuchtungs-
gleichung
(x,y) (u,v)(x,y,z) (s,t) (r,g,b), f‘(s,t)
1. 2. 3. 4. 5.
Prof. Dr. Detlef KrömkerInstitut für Informatik
24 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
3. Corresponder- Funktion: Transformation vom Parameterraum zum Texturraum
(-ebene) (Texturkoordinaten):‣ Weitere Matrix-Transformation (OpenGL): translieren, rotieren, skalieren,...‣ Fortsetzungsmodi: wrap (repeat, tile), mirror, clamp, border
4. Abtasten des Texturwertes und Wertanpassung
5. Modifiziere Beleuchtungsrechnung: Replace, Modulate (Multiplikation) den
(r,g.b)-Wert oder irgend einen anderen Parameter der Beleuchtungsgleichung
(siehe unten)
Generalisierte 2D-Textur-Pipeline (2)
Berechne
Objektraum-
koordinaten
Projektor-
funktion
Mapping
Correspon-
der-Funktion
Texturwert-
Transfor-
mation
Modifiziere
Beleuchtungs-
gleichung
(x,y) (u,v)(x,y,z) (s,t) (r,g,b), f‘(s,t)
1. 2. 3. 4. 5.
9
Prof. Dr. Detlef KrömkerInstitut für Informatik
25 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
‣ Oft sind jedem Eckpunkt eines polygonalen Modells Texturkoordinaten (u,v)
beim Modelling zugeordnet worden – also zum Zeitpunkt des Rendering
bekannt‣ Rückprojektion und Mapping werden in der Regel zusammengefasst‣ Gesucht ist eine Operation, die bilinear interpolierte (x,y)-Koordinaten auf (u,v)
abbildet
Inverses Mapping der Bildschirmkoordinaten
Berechne
Objektraum-
koordinaten
Projektor-
funktion
Mapping
Correspon-
der-Funktion
Texturwert-
Transfor-
mation
Modifiziere
Beleuchtungs-
gleichung
(x,y) (u,v)(x,y,z) (s,t) (r,g,b), f‘(s,t)
1. 2. 3. 4. 5.
Prof. Dr. Detlef KrömkerInstitut für Informatik
26 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Fehler bei einfacher Interpolation‣ Wird die Texturierung in den Prozess der Rasterung integriert, so ist zu
beachten, das die Textur perspektivisch korrekt verzerrt wird. ‣ Einfache Interpolation der Texturwerte aus den Texturwerten an den
Eckpunkten führt zu Artefakten.
Prof. Dr. Detlef KrömkerInstitut für Informatik
27 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Prinzip Inverses Mapping‣ In homogenen Koordinaten kann das Texturmapping ausgedrückt
werden durch:
‣ Wenn die Transformationen eines Eckpunktes, z.B. eines
Dreiecks bekannt sind, kann diese Matrix bestimmt werden
=
==
=
w
y
x
IHG
FED
CBA
q
v
u
Inversedessenbzw
q
v
u
ihg
fed
cba
w
y
x
'
'
'
'
.
)eren!(normalisi )q
v',
q
u'(v)und(u,)
w
y',
w
x'(y)(x,mit'
'
'
'
.
10
Prof. Dr. Detlef KrömkerInstitut für Informatik
28 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Inverses Mapping durchbilineare Interpolation
In der Praxis:‣ Texturkoordinaten und z-Wert oder Beleuchtungsparameter im Scanline-Modus interpolieren‣ Aufgrund der perspektivischen Verzerrung kann dieses für (u,v) nicht linear erfolgen, sondern muß für
zq
q
vv
q
uu
qvu
1,
',
'
mit werden,rtinterpolie linear),','(
===
Prof. Dr. Detlef KrömkerInstitut für Informatik
29 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Texturierung komplexer Objektoberflächen ‣ Bisher wurde Textur-Mapping für ein einzelnes Polygon beschrieben. ‣ Besteht ein Objekt aus sehr wenigen Polygonen, dann kann ein Anwender diese Zuordnung der (ui,vi)-Parameter unter Umständen
noch interaktiv am Bildschirm vornehmen. ‣ Bei komplexeren Objekten ist dies jedoch praktisch unmöglich.
Prof. Dr. Detlef KrömkerInstitut für Informatik
30 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Zweischrittverfahren(Two-Part Mapping)‣ Bier und Sloan (86´) haben ein Zweischrittverfahren vorgestellt, das
die (u,v)-Berechnung automatisiert. ‣ Grundidee: ein komplexes Objekt, das aus beliebig vielen primitiven
Teilobjekten bestehen darf, wird mit einer einfach parametrisierbaren, virtuellen Fläche umhüllt. ‣ Die 2D-Textur wird dann zunächst einmal auf diese umhüllende Fläche abgebildet, und erst von dort aus auf die Objektoberfläche. Geeignete umhüllende Flächen sind Zylinder-, Kugel- und Quaderoberflächen.
11
Prof. Dr. Detlef KrömkerInstitut für Informatik
31 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Zylinder-Mapping
Das Objekt wird von einem endlichen
Zylinder umhüllt. Die Berechnungen sind
besonders einfach, wenn die Zylinder-
hauptachse parallel zur z-Achse des
Objektraumkoordinatensystems verläuft.
Die Endpunkte der Achse sind dann durch
die Koordinaten und
gegeben.
Die Zylinderoberfläche läßt sich leicht durch einen Rotationswinkel φ und die Höhe h
parametrisieren.
Punkte (x,y,z) im Innern des Zylinders werden dann senkrecht von der Zylinderachse
aus auf die Zylinderoberfläche projiziert, und deren (φ ,h)-Parameter werden, nach entsprechender Normierung, als (u,v)-Parameter interpretiert.
( )min,, zylzylzyl zyx( )max,, zylzylzyl zyx
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
32 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
φ
Kugel-Mapping
Kugeloberflächen können leicht durch Kugelkoordinaten φ und θ parametrisiert
werden. Hat eine umhüllende Kugel den Mittelpunkt (xs,ys,zs), dann werden
Punkte (x,y,z) im Kugelinnern vom Mittelpunkt aus auf die Kugeloberfläche
projiziert. Dadurch werden ihnen die Parameter u und v zugeordnet:
arctan 2( , )
2s s
y y x xu
π
π
+ − −=
( )2 2arctan 2 ( ) ( ) ,s s sx x y y z zv
π
− + − −=
θ
xy
z
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
33 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Box-Mapping
Beim Box-Mapping beschreibt die umhüllende Fläche einen Quader. In der Regel
wählt man hierfür die achsenparallele Bounding Box des Objekts. Eine mögliche
Parametrisierung von Punkten (x,y,z) im Innern der Bounding Box definiert
einfach die längste Kante der Bounding Box als u-Achse und die zweitlängste
Kante als v-Achse. Gilt also z.B.
dann kann man die Texturparameter einfach durch
berechnen.
,max ,min ,max ,min ,max ,min( ) ( ) ( )box box box box box box
x x y y z z− ≥ − ≥ −
,min
,max ,min
box
box box
x xu
x x
−=
−und
,min
,max ,min
box
box box
y yv
y y
−=
−
x
z
y
uv
V
12
Prof. Dr. Detlef KrömkerInstitut für Informatik
34 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Corresponder Funktion
Transformation vom Parameterraum zum Texturraum (Texturkoordinaten):‣ Weitere Matrix-Transformation (OpenGL): translieren, rotieren,
skalieren,... möglich‣ Nicht immer realisiert‣ Fortsetzungsmodi: wrap (repeat, tile), mirror, clamp, border
Berechne
Objektraum-
koordinaten
Projektor-
funktion
Mapping
Correspon-
der-Funktion
Texturwert-
Transfor-
mation
Modifiziere
Beleuchtungs-
gleichung
(x,y) (u,v)(x,y,z) (s,t) (r,g,b), f‘(s,t)
1. 2. 3. 4. 5.
Prof. Dr. Detlef KrömkerInstitut für Informatik
35 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Fortsetzungsmodi
wrap mirror clamp border
� Häufige Forderung an die Textur: anreihbar!
Prof. Dr. Detlef KrömkerInstitut für Informatik
36 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Texturwert-Abtastung
‣ Resampling des Texturwertes und ggf. Wertanpassung
Berechne
Objektraum-
koordinaten
Projektor-
funktion
Mapping
Correspon-
der-Funktion
Texturwert-
Transfor-
mation
Modifiziere
Beleuchtungs-
gleichung
(x,y) (u,v)(x,y,z) (s,t) (r,g,b), f‘(s,t)
1. 2. 3. 4. 5.
13
Prof. Dr. Detlef KrömkerInstitut für Informatik
37 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Filterung diskreter 2D-Texturen
Die Projektion eines z.B. quadratischen Bildschirmpixels (Kantenlänge 1)
auf die Texturebene, wird Footprint genannt (= beliebiges Viereck) und wird näherungsweise als ein Parallelogramm angenommen, das von den Vektoren aufgespannt wird. Bei den Echtzeitverfahren wird dieser
Footprint nun durch einfachere Flächen ersetzt, für die die Summe oder der Mittelwert der dazugehörenden Texturwerte im voraus berechnet werden kann.
1 2( , ) , ( , )t tu v u vr r
x x y y
∂ ∂ ∂ ∂= =
∂ ∂ ∂ ∂
Prof. Dr. Detlef KrömkerInstitut für Informatik
38 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Mip-Mapping
Das wichtigste und bekannteste
Verfahren für Echtzeitanwen-dungen ist das Mip-Mapping-Verfahren.
Eine Mip-Map Cmip [i,j] speichert eine quadratische Textur C[i,j]
der Größe n×n, wobei n = 2keine Zweierpotenz sein muß, in fortlaufend halbierten Auflösungsstufen.
Prof. Dr. Detlef KrömkerInstitut für Informatik
39 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Mip-Mapping
Auf der Stufe d=0 werden die Texturwerte direkt übernommen.
0 k[ , ] [ , ], 0 i,j<2 .mipC i j C i j= ≤
( )1 1 1 1
-
1[ , ] [2 , 2 ] [2 1, 2 ] [2 , 2 1] [2 1,2 1]
4
1 -1 und 0 , 2 .
d d d d d
mip mip mip mip mip
k d
C i j C i j C i j C i j C i j
d k i j
− − − −= + + + + + + +
≤ < ≤ <
Die übrigen Stufen d entstehen durch
Filterung der jeweils vorhergehenden Stufe.
Auf der Stufe d der Texturhierarchie werden
also 22d Texel der Originaltextur als ein
einziges Texel dargestellt.
14
Prof. Dr. Detlef KrömkerInstitut für Informatik
40 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
u
x
∂
∂
u
y
∂
∂
Mip-Mapping
Nach dieser nur ein einziges Mal zu berechnenden Vorfilterung können beliebige
Flächenelemente folgendermaßen texturiert werden:
die Texturkoordinaten (u,v) des Pixelmittelpunkts und die Ableitungen
nach den Bildschirmkoordinaten
seien gegeben. Dann hat die
Projektion des quadratischen Pixels
auf die Texturebene, also der Footprint,
die Kantenlängen
, , ,u v u v
x x y y
∂ ∂ ∂ ∂
∂ ∂ ∂ ∂
22u u
ax y
∂ ∂ = +
∂ ∂
22
.v v
bx y
∂ ∂ = +
∂ ∂
Prof. Dr. Detlef KrömkerInstitut für Informatik
41 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Mip-Mapping
Als Seitenlänge des quadratischen Footprints wählt man oft l=max(a,b). Das Maximum und nicht etwa der Mittelwert wird deshalb gewählt, weil die entstehende zusätzliche Verschmierung des Ergebnisbildes durch zu große Footprints eher in Kauf genommen werden kann als Aliasing durch zu kleine Footprints. Unter diesen Voraussetzungen kann der Gesamttexturwert auf der Stufe d= log2(l) gemäß
berechnet werden. Dies geht natürlich nur, wenn d ein ganzzahliger Wert ist. Ist dies nicht der Fall, dann muß d entweder zum nächstgelegenen ganzzahligen Wert gerundet werden, oder aber man führt eine lineare Interpolation zwischen den beiden benachbarten Stufen d und d+1 durch. Als Ergebnis der sog. trilinearen Interpolation erhalten wir dann:
( , , ) ( , , )d
tex mipC u v d BiLinInt C u v=
1( , , ) ( )* ( , , ) ( 1 )* ( , , ).d d
tex mip mipC u v d d d BiLinInt C u v d d BiLinInt C u v+ = − + + −
Prof. Dr. Detlef KrömkerInstitut für Informatik
42 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Summed Area Tables (SAT)
Die Richtungsabhängigkeit der Projektion (Anisotropie) des Footprints kann durch
das Mip-Mapping gar nicht berücksichtigt werden. SAT erlauben anstatt der
Approximation durch Quadrate (u,v)-achsenparallele Rechtecke zu verwenden
und somit diesem Defizit etwas Rechnung zu tragen.
u
x
∂
∂
u
y
∂
∂Quadratische Approximation des
Footprints beim MipMap-Verfahren
15
Prof. Dr. Detlef KrömkerInstitut für Informatik
43 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Summed Area Tables (SAT)
Der Berechnungsaufwand der einfachsten Methode, das arithmetische Mittel über alle Texturwerte eines (u,v)-achsenparallele Rechtecks ((i0,j0),(i1,j1)) zu berechnen, ist proportional zur Größe des Rechtecks:
1 1
0 0
0 0 1 1
1 0 1 0
[ , ]( , , , )
( 1)( 1)
i j
i i j j
avg
C i jC i j i j
i i j j
= ==
− + − +
∑ ∑
Berechnet man dagegen in einem Vorverarbeitungsschritt eine sogenannte Summed-Area-Tabelle
0 0
( , ) [ , ]s si j
sat s s i i j jC i j C i j
= ==∑ ∑
und setzt
[ , 1] [ 1, ] 0,sat satC i C j− = − =
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
44 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Summed Area Tables (SAT)
Dann kann Cavg alternativ mit konstantem Berechnungsaufwand, unabhängig von der Rechteckgröße berechnet werden:
1 1
0 0
0 0 1 1
1 0 1 0
[ , ]( , , , )
( 1)( 1)
i j
i i j j
avg
C i jC i j i j
i i j j
= ==
− + − +
∑ ∑
1 1 0 1 1 0 0 00 0 1 1
1 0 1 0
[ , ] [ 1, ] [ , 1] [ 1, 1]( , , , ) .
( 1)( 1)sat sat sat sat
avg
C i j C i j C i j C i jC i j i j
i i j j
− − − − + − −=
− + − +
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
45 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Footprint-Assembly (FPA)
Die wesentliche Idee des FPA-Verfahrens besteht darin, die leicht und schnell zu erzeugenden Mip-Maps so einzusetzen, daß der näherungsweise als Parallelogramm angenommene Footprint möglichst genau abgedeckt wird. Auf diese Weise wird ein hoher Rechenaufwand vermieden und trotzdem eine anisotrope Texturfilterung erreicht. Das Problem besteht nun darin, den Footprint durch N quadratische Texturfelder (Mip-Map-Zugriffe) möglichst genau und mit geringem Rechenaufwand zu approximieren.
1 1 0 1 1 0 0 00 0 1 1
1 0 1 0
[ , ] [ 1, ] [ , 1] [ 1, 1]( , , , ) .
( 1)( 1)sat sat sat sat
avg
C i j C i j C i j C i jC i j i j
i i j j
− − − − + − −=
− + − +
V
16
Prof. Dr. Detlef KrömkerInstitut für Informatik
46 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Footprint-Assembly (FPA)
.Aus praktischen Gründen wird dabei N = 2m gewählt, da auf diese Weise die endgültige Texturfarbe durch Aufsummieren und einfache Division durch eine Zweierpotenz (Shift) ermittelt werden kann. Für N kann eine Obergrenze angegeben werden, um die Rechenzeit ohne merkliche Qualitätseinbußen wesentlich zu verkürzen.
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
47 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Footprint-Assembly (FPA)
Für die Berechnung der Mip-Map-Stufe werden die Vektoren
1 2( , ) , ( , )t tu v u vr r
x x y y
∂ ∂ ∂ ∂= =
∂ ∂ ∂ ∂
verwendet, die auch beim normalen Mip-Mapping zur Bestimmung der Stufe herangezogen werden. Dabei sind u,v die Texturkoordinaten und x,y die Bildschirmkoordinaten des Pixels. Ausgehend vom in die Texturebene projizierten Pixelmittelpunkt (u,v) erfolgen die Mip-Map-Zugriffe in Schritten entlang einer Geraden. Dabei wird der betragsmäßig größere der beiden Vektoren r1 bzw. r2 als Schrittrichtung r=(ru,rv)
t verwendet. Die Mip-Map-Stufe d ist dann durch die Kantenlänge 1 2min( , )l r r=
als 2log ( )d l=
gerundet auf die nächstliegende Zweierpotenz, gegeben.
und die Anzahl der Mip-Map-Zugriffe durch
1 2max( , ),
r rN
l=
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
48 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Footprint-Assembly (FPA) Mit Hilfe des Schrittvektors ∆r=(∆u, ∆v) der sich aus der Schrittrichtung durch
und u vr ru v
N N∆ = ∆ =
berechnet, können nun die Koordinaten (un,vn) für die einzelnen Zugriffe bestimmt werden:
( , ) ( , ) ( , ), wobei 1, 3, 5,..., ( 1).2
n n
nu v u v u v n N= + ∆ ∆ = ± ± ± −
Die Farbe des Pixels ergibt sich dann als arithmetischer Mittelwert aller Zugriffe.
V
17
Prof. Dr. Detlef KrömkerInstitut für Informatik
49 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
5. Modifiziere Beleuchtungsrechnung
Potentiell ist jeder Parameter der Beleuchtungsrechnung beeinflussbar
Berechne
Objektraum-
koordinaten
Projektor-
funktion
Mapping
Correspon-
der-Funktion
Texturwert-
Transfor-
mation
Modifiziere
Beleuchtungs-
gleichung
(x,y) (u,v)(x,y,z) (s,t) (r,g,b), f‘(s,t)
1. 2. 3. 4. 5.
Prof. Dr. Detlef KrömkerInstitut für Informatik
50 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Beeinflussung der Beleuchtungsrechnung
Basis für die folgenden Betrachtungen:
Erweitertes Blinn-Phong-Modell, also:
( )
( ) specspec
m
spec
diffdiffdiff
ambambamb
k
k
spec
k
diff
kk
amb
k
spotemiambglobtot
shi
dc
smnhi
smlni
smi
iiimmai
⊗⋅⋅=
⊗⋅=
⊗=
++++⊗= ∑
)0,max(
)0,max(
)((
ln h
v
l, n, h, v normiert
Prof. Dr. Detlef KrömkerInstitut für Informatik
51 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Beeinflussung der Beleuchtungsrechnung (1)‣ 1. Ersetzen der Objektfarbe durch Textur (replace) Bei dieser einfachsten Art der Texturierung wird die Objektfarbe durch die Farbe der Textur ersetzt. Jegliche Beleuchtungeffekte des Objekts werden unwirksam, außer die Textur selbst enthält Beleuchtungseffekte.‣ A posteriori Skalierung des Farbwertes (modulate)Eine der am häufigsten angewandten Techniken führt die Beleuchtungsrechnung und das Shading mit konstanten Beleuchtungsparametern durch und skaliert den Beleuchtungswert itot erst im nachhinein komponentenweise mit dem Texturwert ctex
Wenn hier als Objektfarbe „weiß“ gewählt wird, enthält diese die Schattierungsinformation und die Textur die Farbinformation des Objektes.
texout cc =
textotout cic ⊗=
18
Prof. Dr. Detlef KrömkerInstitut für Informatik
52 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Beeinflussung der Beleuchtungsrechnung (2)
3. Modulation der Flächenfarbe
Die Flächenfarbe wird im wesentlichen durch den Materialparameter mdiff, im
geringeren Maße aber auch durch den Parameter mamb bestimmt. Also
zu setzen.
Der wesentliche Unterschied zu 2. besteht darin, dass die spekularen
Reflektionen und Emissionen von der Textur unbeeinflusst bleiben.
texambamb
texdiffdiff
cmm
cmm
⊗=
⊗=
'
'
Prof. Dr. Detlef KrömkerInstitut für Informatik
53 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Beeinflussung der Beleuchtungsrechnung (3)
4. Modulation der spekularen Reflektion
Die Highlights können dadurch unregelmäßig gestaltet werden. Interessant ist
diese Methode vor allem im Zusammenhang mit dem Reflection-Mapping und
Environment-Mapping (später)
texspecspec cmm ⊗=
Prof. Dr. Detlef KrömkerInstitut für Informatik
54 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Beeinflussung der Beleuchtungsrechnung (4)
5. Modulation der TransparenzDurch die Modulation des Transparenzparameters
können sehr realistisch aussehende Effekte erzielt werden:‣ α=1 � Objekte hinter diesem Flächenpixel sind vollständig sichtbar‣ α=0 � so wird kein Licht durchgelassenansonsten wird mit dem Wert von α gefiltert. ‣ Bei Beschränkung auf die Werte 0 und 1 kann durch die Textur zwischen Sichtbarkeit und Unsichtbarkeit des Objekts ''umgeschaltet'' werden. Dadurch können auch kompliziert geformte Flächen aus einfachen Flächen ''ausgeschnitten'' werden. ‣ Mit stochastischen Werten für α können z.B. verschmutzte und milchige Glasscheiben modelliert werden.
*obj texα α α=
19
Prof. Dr. Detlef KrömkerInstitut für Informatik
55 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Beeinflussung der Beleuchtungsrechnung (5)
6. Perturbation des NormalenvektorsBeim Bump Mapping wird mit Hilfe einer skalarwertigen Textur eine
Offsetfläche P'(s,t) definiert. Die Normalenvektoren der Offsetfläche werden dann als Variationen der Normalenvektoren der Basisfläche interpretiert (Details
kommen später)
7. Modulation von LichtquellenparameternEine weitere Möglichkeit besteht darin, Lichtquellenparameter durch Texturen
zu beeinflussen. Besonders anschaulich ist dies bei Projektorlichtquellen. Dabei
wird eine zweidimensionale Textur in den Raum projiziert, d.h. die Lichtemission
wird in Abhängigkeit von der Lichtrichtung moduliert:
~ ( ( )).i tex invmap iL C F Lr
Prof. Dr. Detlef KrömkerInstitut für Informatik
56 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Beeinflussung der Beleuchtungsrechnung (6)
8. Höhenfelder und OffsetflächenHierbei wird mit Hilfe von Texturen die tatsächliche Geometrie von Oberflächen
verändert. Darauf beruht das sogenannte Displacement-Mapping.
9. und viele andere Möglichkeiten
Prof. Dr. Detlef KrömkerInstitut für Informatik
57 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Texturierung und Gouraud-Interpolation ‣ Bei Gouraud-interpolierten Dreiecken kann nur die Beleuchtungsrechnung
2. A posteriori Skalierung des Farbwertes (modulate)
angewendet werden.‣ Die Möglichkeit der alternativen oder auch kombinierten Anwendung der
Texturierungen 3. bis 8. besteht nur bei Visualisierungsverfahren, die entweder eine
explizite Beleuchtungsrechnung in jedem Pixel durchführen oder die verschiedenen
Anteile der Phong-Beleuchtungsgleichung getrennt durch Gouraud-Interpolation
berechnen.
20
Prof. Dr. Detlef KrömkerInstitut für Informatik
58 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Übersicht (Fortsetzung)
7. Beeinflussung der Beleuchtungsrechnung
8. Spezielle Texturen: 8.1 Environment-Mapping
8.2 Bump Mapping
9. Zusammenfassung
10. Ausblick – Nächste Schritte
Prof. Dr. Detlef KrömkerInstitut für Informatik
59 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Environment Mapping(Reflection Mapping) ‣ eine einfache Möglichkeit, Reflektionen (zumindest approximativ) mit Hilfe von
Textur-Hardware zu berechnen. ‣ Grundidee: Ist ein Objekt verglichen mit dem Abstand zu umgebenden
Objekten klein, so hängt die einfallende Beleuchtsstärke nur von der Richtung,
nicht von der Position eines Punktes auf dem Objekt ab. Daher kann die
einfallende Beleuchtung für ein Objekt vorberechnet und in einer 2D-Textur, der
Environment Map gespeichert werden.
Prof. Dr. Detlef KrömkerInstitut für Informatik
60 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
( , )u v
V
Prinzip des Environment Mapping
Anschaulich wird das reflektierende Objekt von einer virtuellen Kugel (oder auch virtuellen Würfel) umgeben, auf deren Innenseite die Szenenumgebung als zweidimensionale Textur, die Environment Map) aufgetragen ist.
Einem Punkt P auf der Objektoberfläche werden dann Texturkoordinaten (u,v) zugeordnet. Die Richtung R und damit die Texturkoordinaten (u,v) können einfach aus der Richtung V zur Kamera und der Normale N in Punkt P berechnet werden:
),(),(
2
vu⇒⇒
−=
φθ
(VN)NVR RN
P
21
Prof. Dr. Detlef KrömkerInstitut für Informatik
61 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Diskussion: Environment Mapping (1)
Für die Beleuchtungsrechnung wird ein nochmals erweitertes Blinn-Phong-
Beleuchtungsmodell, das auch Reflektionen berücksichtigt angewendet:
Vorteile des Environment Mapping
+ schnell und einfach zu berechnen
+ liefert gute Visualisierungsergebnisse, wenn die Textur z.B. den Himmel oder
einen weit entfernten Horizont repräsentiert.
+ kann verwendet werden, um große ausgedehnte Lichtquellen als Textur darzustellen.
)()(( φθreflmap
k
k
spec
k
diff
kk
amb
k
spotemiambglobtot kdc iiiimmai +++++⊗= ∑
Prof. Dr. Detlef KrömkerInstitut für Informatik
62 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Environment Mapping
Nachteile:
- Die Reflektionsberechnung ist nur dann korrekt, wenn der Objektpunkt P sich im
Weltmittelpunkt W befindet. Mit zunehmendem Abstand zwischen P und W
treten verstärkt Verzerrungen auf.
Prof. Dr. Detlef KrömkerInstitut für Informatik
63 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Environment Mapping
- Ist die Environment Map schlecht parametrisiert, können erhebliche Aliasing-
Probleme auftreten.
- Es wird keine Verdeckungsrechnung durchgeführt. Das Problem, dass der
reflektierte Strahl R auf ein blockierendes Szenenobjekt treffen kann, wird
ignoriert.
- Szenenobjekte können sich nicht gegenseitig widerspiegeln. Bei der
Reflektionsberechnung wird nur die a priori berechnete Environment Map
berücksichtigt.
22
Prof. Dr. Detlef KrömkerInstitut für Informatik
64 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Parametrisierung von Environment Maps
Ist der Reflektierte Strahl R=(Rx,Ry,Rz) gegeben, so berechnen sich (φ,θ) analog wie beim Kugel-Mapping gemäß
Blinn, Newell 1976 verwendeten Kugelkoordinaten zur Parametrisierung der Environment Map. Diese werden dann als Texturkoordinaten auf dem Objekt verwendet.
arccos( )
arccos( / sin ), falls 0
2 arccos( / sin ), sonst
z
x y
x
R
R R
R
θ
θφ
π θ
=
≥=
−φ
θ
xy
z
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
65 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Parametrisierung von Blinn und Newell
+ Einfach verständlich, älteste Parametrisierung.Die Erzeugung der Environment Map ist kompliziert. In der Praxis wird meist eine Environment Map, die auf den Innenseiten eines Würfels aufgebracht ist, entsprechend umgerechnet.- Die Parametrisierung mittels Kugelkoordinaten ist schlecht. Um die Pole liegen wesentlich mehr Texel/Fläche als am Äquator. Das führt zu einer schlechten Abtastung.- Wird gegenwärtig nicht von Hardware unterstützt.- Ein Dreieck, das den Pol enthält, enthält den Pol nicht mehr, wenn linear in Polar-koordinaten interpoliert wird.- Schneidet ein Dreieck die Linie mit φ=0, so schneidet ein linear interpoliertes Dreieck diese nicht mehr.
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
66 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Parametrisierung von Greene
Greene 1986 verwendet anstatt der Projektion der Umgebung auf eine Kugel eine Projektion auf einen Würfel. Die Environment Map besteht aus 6 ebenen Texturen entsprechend den 6 Würfelseiten. Zur Erzeugung wird eine Kamera in der Mitte des Würfels platziert und 6 Aufnahmen in jede Richtung gemacht. In der Praxis wird die Szene ausgehend vom Mittelpunkt des Objekts 6 mal mit unterschiedlichen Blickrichtungen gerendert. Je nach Richtung des reflektierten Strahls wird eine der 6 Texturen ausgewählt.
+ Die Parametrisierung ist regelmäßiger als eine Kugelparametrisierung.+ Die Environment Map kann einfach mit Hilfe von Hardware erzeugt werden.
V
23
Prof. Dr. Detlef KrömkerInstitut für Informatik
67 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Parametrisierung von Environment Maps
Die Projektion auf einen Würfel hat auch Nachteile:
-Liegen die Texturkoordinaten von Eckpunkten von Dreiecken des Objekts in unterschiedlichen Würfelseiten, so ist es schwierig dazwischen zu interpolieren. Eine Methode ist, diese Dreiecke entsprechen zu unterteilen.- Filterung und bilineare Interpolation entlang Würfelkanten ist schwierig
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
68 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Parametrisierung von Environment Maps
Die Environment Map ist abhängig vom Objektmittelpunkt!
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
69 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Sphere Mapping
OpenGL unterstützt Environment Mapping mit der sogenannten Sphere Map. Dabei wird die gesamte umhüllende Kugel des Objekts, auf deren Innenseite wie beim Standard Environment Mapping die Textur der Umgebung aufgebracht ist, auf einen Kreis abgebildet:
R
NV
V
R
Bild,Textur
V
24
Prof. Dr. Detlef KrömkerInstitut für Informatik
70 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Sphere Mapping
RückseiteVorderseite
Linke SeiteRechte Seite
ObenUnten
Abbildung von 6 Würfelseiten auf eine Sphere Map
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
71 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Berechnung einer Sphere Map
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
72 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Sphere Mapping
Berechnung von Texturkoordinaten in einem Punkt P des Objekts:Sei R = (Rx,Ry,Rz)
t die Richtung des reflektierten Strahls (sie ist abhängig von der aktuellen Beobachtungsrichtung!). Dann berechnen sich die Texturkoordinaten (u,v)t wie folgt.
2( )R V N N V= −�Für den reflektierten Strahl gilt:
mit N=(Nx,Ny,Nz)t=(u,v,Nz)
t
und V=(0,0,1). Daraus folgtR
NV
v
u
( , )u v2
0 0 2
2 0 0 2
1 1 2 1
x z
y z
z z z z
R u u N u
R v v N v
R N N N
= ⋅ − = −
Auflösen nach u und v liefert
, 2( 1) 2( 1)
yx
z z
RRu v
R R= =
+ +
P
V
25
Prof. Dr. Detlef KrömkerInstitut für Informatik
73 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Vor/Nachteile
-Interpolation der Texturkoordinaten führt zu Artefakten.- Unregelmäßige Abtastung: Maximale Abtastraten in Richtungen entgegen der Beobachtungsrichtung, Abtastrate in Richtung der Beobachtungsrichtung geht gegen 0. In Beobachtungsrichtung hat die Parametrisierung eine Singulartität.- Aliasing Probleme vor allem am Rand.
Relativ gute Abtastung. Beabsichtigte Interpolation Tatsächliche Interpolation mit Hardware, Wrapping Effekt
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
74 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Dual-Parabolisches Mapping
Heidrich und Seidel (1999) verwenden als reflektierendes Objekt anstatt einerKugel zwei Paraboloide.
Im Gegensatz zum Sphere-Mapping, wo die gesamte Umgebung in einer Textur abgelegt wird, werden zwei Texturen verwendet. Eine für die Halbkugel entgegen der Blickrichtung (hinten) und eine in Blickrichtung (vorne). Für die Normale im Punkt (x,y) ergibt sich:
2 2 2 21 1( , ) ( ), 1
2 2f x y x y x y= − + + ≤
2 2
1
1 1
x
N yx y
= + +
N
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
75 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Dual-Parabolisches Mapping
Berechnung von Texturkoordinaten in einem Punkt P des Objekts:Sei R = (Rx,Ry,Rz)
t die Richtung des reflektierten Strahls (sie ist abhängig von der aktuellen Beobachtungsrichtung!). Dann berechnen sich die Texturkoordinaten (u,v)t wie folgt.
2( )R V N N V= −�Für den reflektierten Strahl gilt:
mit N=(Nx,Ny,Nz)t=
und V=(0,0,-1). Daraus folgt
2 2
2 2 2 2
2 2
2
10 01 2
2 0 01 1
1 1 1 12
11
x
y
z
uu vR u u
R v v vu v u v
R
u v
+ +
= ⋅ − = + + + + − − − − − +
+ +
Auflösen nach u und v liefert , 1 1
yx
z z
RRu v
R R= =
− −
2 2
1( , ,1)
1
tu vu v+ +
R
NV
v
u
( , )u vP
Frontside
V
26
Prof. Dr. Detlef KrömkerInstitut für Informatik
76 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Vor-und Nachteile
+ Dual-parabolic Maps lassen sich mit einfachen Matrizenoperationen für unterschiedliche Blickrichtungen umrechnen. D.h. sie sind blickpunktsabhängig. + Wesentliche gleichmäßigere Abtastung als beim Sphere-Mapping.+ Weniger Aliasing Probleme.- Interpolation der Texturkoordinaten führt zu Artefakten.- Noch nicht in Hardware verfügbar.
Würfel auf Dual-Parabolische Maps abgebildet.
V
Prof. Dr. Detlef KrömkerInstitut für Informatik
77 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Bump Mapping
Mit den bisher beschriebenen Texturierungstechniken können nur
Materialparameter variiert und Beleuchtungsergebnisse skaliert werden. Beleuchtete Flächen sehen dadurch bereits sehr viel variantenreicher und damit auch realistischer aus, trotzdem wirken sie
häufig immer noch zu glatt. Ziel:
Prof. Dr. Detlef KrömkerInstitut für Informatik
78 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Bump Mapping
Gesucht ist daher eine einfache Technik, mit deren Hilfe Flächen rauh, runzlig,
geknittert oder gekräuselt erscheinen.
Wollte man diese kleinen Unebenheiten
geometrisch exakt modellieren,
so könnte man z.B. zu einer gegebenen
parametrischen Grundfläche P(u,v)
ein zweidimensionales Höhenfeld h(u,v)
addieren und würde so die Offsetfläche
erhalten.
( , )( , ) ( , ) ( , )
( , )
N u vP u v P u v h u v
N u v′ = +
27
Prof. Dr. Detlef KrömkerInstitut für Informatik
79 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Bump Mapping ‣ Für kleine Höhenwerte ist dieser Ansatz jedoch zu rechenaufwendig. ‣ Außerdem zeigt das Phong-Beleuchtungsmodell, dass die exakten
geometrischen Positionen der Flächenpunkte P(u,v) bzw. P'(u,v) gar nicht direkt
in die Beleuchtungsrechnung eingehen. Viel wichtiger sind die
Normalenvektoren N(u,v). Die wesentliche Idee der Bump-Mapping-Technik
besteht konsequenterweise darin, dass es für kleine Unebenheiten h(u,v)
ausreicht, die Visualisierung mit der Originalgeometrie P(u,v) durchzuführen, bei
der Beleuchtungsrechnung aber die Normalen N'(u,v) der Offsetfläche zu
verwenden. ‣ Diese Normalenvektoren können durch
berechnet werden.
( , ) ( , ) ( , )u v
N u v P u v P u v′ = ×
Prof. Dr. Detlef KrömkerInstitut für Informatik
80 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Bump Mapping
Die Richtungsableitungen erhält man mit den bekannten Summen- und
Kettenregeln:
Für kleine Werte h(u,v) können die hinteren Teilterme ignoriert werden:
( , ) ( , )( , ) ( , ) ( , ) ( , )
( , ) ( , )
( , ) ( , )( , ) ( , ) ( , ) ( , )
( , ) ( , )
u u u
u
v v v
v
N u v N u vP u v P u v h u v h u v
N u v N u v
N u v N u vP u v P u v h u v h u v
N u v N u v
′ = + +
′ = + +
( , )( , ) ( , ) ( , )
( , )
( , )( , ) ( , ) ( , )
( , )
u u u
v v v
N u vP u v P u v h u v
N u v
N u vP u v P u v h u v
N u v
′ ≈ +
′ ≈ +
Prof. Dr. Detlef KrömkerInstitut für Informatik
81 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Bump Mapping
Für N´(u,v) folgt damit:
Die zweidimensionale Bump Map h(u,v) ist dabei in der Regel als diskretes
Zahlenfeld bzw. als Grauwertbild gegeben. In diesem Fall werden die
Richtungsableitungen hu und hv durch
berechnet.
, mit
( ) ( )
u v u v v u u v
u v v uu v v u
N N N NN P P h P h P h h
N N N N
N D
h N P h P NN ND h P h P
N N N
′ = × + × + × + ×
= +
× − ×= × + × =
( , ) ( , )( , )
( , ) ( , )( , )
u
v
h u u v h u vh u v
u
h u v v h u vh u v
v
+ ∆ −=
∆
+ ∆ −=
∆
28
Prof. Dr. Detlef KrömkerInstitut für Informatik
82 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Bump Mapping
Das Bump Mapping kann nur mit denjenigen Beleuchtungsverfahren kombiniert
werden, die eine explizite Beleuchtungsrechnung in jedem Pixel durchführen.
Beispiele hierfür sind das Phong-Shading- und das Raytracing-Verfahren, nicht
aber das Gouraud-Shading-Verfahren. 1997 wurde ein Bump-Mapping-
Verfahren für Hardware vorgestellt.
Prof. Dr. Detlef KrömkerInstitut für Informatik
83 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Zusammenfassung
Texturierung ist ein sehr mächtiges „Werkzeug“ um die realitätsnahe Darstellung zu ermöglichen.
Die moderne Graphik-Hardware unterstützt dies!
� Shader Programmierung
Prof. Dr. Detlef KrömkerInstitut für Informatik
84 Hier wird Wissen WirklichkeitB-CG – V07 Direct Manipulation and VEs
Ausblick – Nächste Schritte‣ Graphik-Hardware‣ Shader-Programmierung‣ Farbe‣ Ray Tracing und Radiosity + Ausblick‣ aber nur noch drei Termine ;-(