modul: b-cg grundlagen der computergraphik im ... · modul: b-cg grundlagen der computergraphik im...

28
1 Hier wird Wissen Wirklichkeit Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung Institut für Informatik Fachbereich Informatik und Mathematik (12) Prof. Dr. Detlef Krömker Institut für Informatik 2 Hier wird Wissen Wirklichkeit B-CG – V07 Direct Manipulation and VEs Adobe Flash in 5 Days (Johannes Bufe) Praxis - Workshop mit integrierten Übungen Grundlagen Flash Studio CS3 Programmierung mit Action Script 3 21.07.2008 – 24.07.2008, 9:00 – 16:00 Uhr Raum 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: 14 Kontakt und verbindliche Anmeldung: [email protected] Prof. Dr. Detlef Krömker Institut für Informatik 3 Hier wird Wissen Wirklichkeit B-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 ??

Upload: nguyendien

Post on 05-Aug-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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 ??

Page 2: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 3: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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 ??

Page 4: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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=

Page 5: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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.

Page 6: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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)

Page 7: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 8: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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.

Page 9: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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'

'

'

'

.

Page 10: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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.

Page 11: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 12: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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.

Page 13: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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.

Page 14: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 15: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 16: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 17: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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 ⊗=

Page 18: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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α α α=

Page 19: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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.

Page 20: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 21: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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.

Page 22: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 23: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 24: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 25: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

Page 26: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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′ = +

Page 27: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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

+ ∆ −=

+ ∆ −=

Page 28: Modul: B-CG Grundlagen der Computergraphik im ... · Modul: B-CG Grundlagen der Computergraphik im Sommersemester 2008 Texturen Prof. Dr. Detlef Krömker Professur für Graphische

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 ;-(