19
1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung 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 – V08 Beleuchtungsrechnung Rückblick: Rendering Pipeline Model and View Transformation Beleuchtungs- rechnung für Vertices Rastern (Scan Konvertierung) Klipping Projektion Screen Mapping Beleuchtungs- rechnung für Pixel Noch offen: Beleuchtungsrechnung im Graphikprozessor (GPU) „vertex shader“ im Graphikprozessor (GPU) „pixel shader“ im Graphikprozessor (GPU), ab 2006 unified shader („streaming processor“) ab NVIDIA-GeForce-8-Serie und ATI-Radeon-HD-2000-Serie „geometry shader“ Prof. Dr. Detlef Krömker Institut für Informatik 3 Hier wird Wissen Wirklichkeit B-CG – V08 Beleuchtungsrechnung Identifikation der Grundprobleme (Problem 1) Interaktion von Licht und Materie (streng: lighting): Berechnung der Helligkeit/Farbe von Bildpunkten (Polygonen, Vertices, Pixel) lighting (Problem 2) für polygonale Modelle: „geometrische“ (= visuelle) Glättung der facettenartigen Geometrie ( shading) flat shading Gouraud shading Anmerkung: Es gibt Alterna- tiven zum Gouraud shading, das Phong shading aber ein Grundproblem bleibt: polygonale Silhouetten.

Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

1

Hier wird Wissen Wirklichkeit

Graphische Datenverarbeitung

Beleuchtungsrechnung

Prof. Dr. Detlef KrömkerProfessur für Graphische DatenverarbeitungInstitut für InformatikFachbereich Informatik und Mathematik (12)

Prof. Dr. Detlef KrömkerInstitut für Informatik

2 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Rückblick: Rendering Pipeline

Model and ViewTransformation

Beleuchtungs-rechnung für Vertices

Rastern(Scan Konvertierung)

Klipping

Projektion

Screen Mapping

Beleuchtungs-rechnung für Pixel

Noch offen:

Beleuchtungsrechnung

im Graphikprozessor (GPU)

„vertex shader“

im Graphikprozessor (GPU)„pixel shader“

im Graphikprozessor (GPU), ab 2006

unified shader („streaming processor“)

ab NVIDIA-GeForce-8-Serie und ATI-Radeon-HD-2000-Serie

„geometry shader“

Prof. Dr. Detlef KrömkerInstitut für Informatik

3 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Identifikation der Grundprobleme

(Problem 1) Interaktion von Licht und Materie (streng: lighting): Berechnung der Helligkeit/Farbe von Bildpunkten (Polygonen, Vertices, Pixel) lighting

(Problem 2) für polygonale Modelle: „geometrische“ (= visuelle) Glättung der facettenartigen Geometrie ( shading)

flat shading Gouraud shading

Anmerkung: Es gibt Alterna-tiven zum Gouraud shading, das Phong shadingaber ein Grundproblem bleibt:polygonale Silhouetten.

Page 2: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

2

Prof. Dr. Detlef KrömkerInstitut für Informatik

4 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Die Begriffe shading und lighting“

1. Beides Verfahren und Algorithmen, die den Farbwert eines Pixels berechnen.

2. Zum Begriff „shading“ (engl.) – umgangssprachlich: Abschattierung, Abschattung, Dunkeltönung, Nuancieren von Farben, Schattierung, Schraffierung, Schummerung (nach: www.leo.org)

3. „Shading“ in der Fachsprache: streng nur Bedeutung (2.), aber im lässigen „Jargon“ oft auch die Vereinigung von (1.) und (2.), besonders in Zusammensetzungen: shading language, shading processor (shader), etc.

4. Ist partiell auch begründet aus der Pionierzeit: Sowohl Gouraud als auch Phong haben zusammengefasst Lösungen für beide Probleme angegeben.

Prof. Dr. Detlef KrömkerInstitut für Informatik

5 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Realisierung des Shadings‣ Shading Algorithmen waren bis etwa 2000 für Realtime-Graphik fest in Hardware implementiert (nur parametrisierbar), dann kamen Shading

Languages auf: zunächst „Assembler-Niveau“‣ Heute „high level“ programmierbar: Z.B. hat Open GL seit Version 2.0 eine eigene C-ähnliche Shader-Sprache integriert (OpenGL Shading Language, kurz GLSL), Alternativen: DirectX 9.0 oder 10.0 Shader Model V 4.0 (Microsoft) oder (Cg von nvidia / Microsoft (2002) hat es schwer)‣ In Software fürs high-end Rendering: Renderman Shading Language (ab 1988, heute Quasi-Standard), aber viele Varianten, je nach Implementierung.

Prof. Dr. Detlef KrömkerInstitut für Informatik

6 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Beleuchtungsrechnung (lighting)‣ Interaktion von Licht und Materie bestimmt durch die optischen Eigenschaften des Materials, dessen Struktur, Aufbau und Bearbeitung der Oberfläche das Aussehen der Objekte‣ sehr vielfältig und komplex !!! ‣ und trägt entscheidend zur realistischen Wirkung eines Bildes bei‣ Ziele: Realitätsnahe Bilder ... wichtig auch zur korrekten Objekterkennung und Orientierung in Szenen, z.B. „Shape from Shading“; Schatten, etc.das alles mit „akzeptablen Rechenaufwand“

Page 3: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

3

Prof. Dr. Detlef KrömkerInstitut für Informatik

7 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Beispiele

Nur diffuseReflektion

Multiple Lightsources

Texturiert &Reflection Mapping

Prof. Dr. Detlef KrömkerInstitut für Informatik

8 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

aber, nicht nur so1994

Beispiele aus der

Quelle: http://www.irtc.org/

viele weitere Beispiele in separatem Foliensatz: Ray-Tracing Beispiele 1994 – 2006

Prof. Dr. Detlef KrömkerInstitut für Informatik

9 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

sondern auch so2004 - 2006

Page 4: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

4

Prof. Dr. Detlef KrömkerInstitut für Informatik

10 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

... das ist auch unser Motto

„If it looks like computer graphics, it

is not good computer graphics.“Jeremy Birn

aber dafür müssen wir uns noch

einiges anschauen und vieles lernen!

Prof. Dr. Detlef KrömkerInstitut für Informatik

11 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Beleuchtungsrechnunglighting‣ Physik: Geometrische Optik – Wellenoptik – Quantenoptik – sehr viele

Phänomene:Reflektion, Transmission, Absorption, Diffraktion (Beugung), Refraktion

(Brechung), Dispersion, Interferenz, Polarisation, ...‣ In der CG wurde und wird ein beachtlicher Aufwand in die Modellierung und Simulation dieser Effekte (insbesondere der Reflektion) investiert ‣ Muss noch behandelt werden: FARBE und Farbentstehung sowie Farbwahrnehmung ... es reicht i.d.R in RGB zu rechnen!

Prof. Dr. Detlef KrömkerInstitut für Informatik

12 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Übersicht

1. Einige grundsätzliche Überlegungen‣ Identifikation von 4 Problemen und deren Schwierigkeit

2. Prinzipien der Materie-Licht-Interaktion

3. Aufwandsarme Approximationen für ‣ „Einfache“ Lichtquellen in der CG‣ Lokale Beleuchtungsmodelle

4. Das Shading (visuelle Glättung polygonaler Modelle)

5. Zusammenwirken in der Pipeline - Zusammenfassung

6. Weitere Informationen

Page 5: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

5

Prof. Dr. Detlef KrömkerInstitut für Informatik

13 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Wie schwierig (aufwendig) ist das Problem BeleuchtungsrechnungProblem 1: Interaktion von Licht und Materie

viel und teilweise schwierige Physik, BRDF,…

Problem 2: Aussehen eines Objektes hängt von der Beleuchtung und den Betrachtungsbedingungen (insbesondere der Betrachtungsrichtung) ab Geometrie (insbesondere die Position und Richtung (Normale)) der Objektoberflächen und der Lichtquellen berechnen: gelingt mit den bekannten Verfahren

Problem 3: Beleuchtung kann erfolgen durch Lichtquellen oder auch andere Objekte, die Licht reflektieren: Spiegel, helle Flächen

Problem 4: Polygonale Modelle wirken kantig (facettiert)also unecht müssen visuell geglättet werden Shading

Problem 5: Objekte können durch andere Objektebeschattet werden; Nebel, Dunst und andere athmosphärische Effekte

sehr schwierig

relativ leicht

relativ leicht

schwierig … sehr schwierig

mittel schwierig

Prof. Dr. Detlef KrömkerInstitut für Informatik

14 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Problem 1Interaktion von Licht und Materie

Licht ist ein schwieriges Thema: elektromagnetische Strahlung StrahlungsphysikPartikel geometrischen Optik (noch einfach, aber nicht trivial)Wellen Wellenoptik (selten nötig)Quanten in der CG nicht benutzt

Material ist vielfältig und verschiedenhomogen – inhomogenamorph – kristallinleitend – isolierend fest – flüssig – gasförmigkann Licht absorbieren, reflektieren, brechen, beugen, polarisieren, isotrop – anisotrop (Eigenschaften richtungsabhängig)ist immer ein Volumen aber wir beschreiben meist Oberflächen (boundaries)

zusammen sehr schwierig und potentiell auch sehr rechenaufwendig wir benötigen viele Vereinfachungen ( Fehler: welche? – wann tolerierbar?)

Prof. Dr. Detlef KrömkerInstitut für Informatik

15 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Licht

ist elektromagnetische Strahlung im Bereich 360 – 830 nm Wellenlänge

Größen der Strahlungsphysik und

Zwei für uns bedeutende duale Modelle‣ Partikelmodell geradlinige Ausbreitung geometrischen Optik‣ Wellenmodell (nur wo nötig, insbesondere zum Verstehen der Phänomene: z.B. Farbe, Interferenz, Polarisation

Page 6: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

6

Prof. Dr. Detlef KrömkerInstitut für Informatik

16 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

BRDFBidirectional Reflectance Distribution Function

Ist eine Funktion f, die beschreibt, wie Licht von einem Oberflächenpunkt einer Fläche reflektiert wird und zwar in Abhängigkeit von den gezeigten Winkeln und der Wellenlänge (wir arbeiten i.d.R. nur mit RGB)

Somit beschreibt sie die Materialeigenschaften einer Objekt-Oberfläche

Gibt die Wahrscheinlichkeit an, mit der ein eingehendes Photon in eine bestimmte Richtung emittiert wird.

[ ][ ]

iiiiiiooooo

iii

oooiioo

dLfL

W/mungstärke n Bestrahleingehende

srW/mhte Leuchtdicausgehende

E

Lf

ωθφθφθφθλφθλ

φθλ

φθλφθφθλ

cos),(),,,,(),,(

),,(

),,(),,,,(

2

2

⋅=

==

∫∫Ω

Prof. Dr. Detlef KrömkerInstitut für Informatik

17 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Nicht einmal das reicht für alle Materialien aus

Subsurface Scattering(Mamor, Blätter, Milch,

Haut, usw.)

BRDF BSSRDFSub-Surface

nach Henrik Wann Jensen et.al.

Problem: im ausgehendenStrahl wirken auch Beiträgebenachbarter Eingangs-strahlen

Prof. Dr. Detlef KrömkerInstitut für Informatik

18 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

‣ BRDF in der Regel nicht geschlossen lösbar: ist auch „knüppelharte“ Physik‣ Aufteilung in idealisierte, einfacher zu behandelnde Komponenten ist möglich (Licht addiert sich)!

rein diffuse Reflektion spiegelnd diffuse Reflektion ideal spiegelnde Reflektion (ambiente Beleuchtung)‣ Für diese Komponenten wird dann auch Problem 2 (Geometrie) gelöst.

Erste Beurteilung des Problems 1:Interaktion Licht und Materie

Page 7: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

7

Prof. Dr. Detlef KrömkerInstitut für Informatik

19 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Problem 3

Hier unterteilen wir in:‣ lokale Beleuchtungsmodelle: berechnen die Interaktion von Lichtquellen und idealisierten Oberflächen (relativ einfach ... behandeln wir heute)‣ globale Beleuchtungsmodelle (berechnen auch die Interaktion von Licht, dass von anderen Oberflächen reflektiert wird, z.T viel schwieriger ... machen wir ansatzweise in CG) ‣ aber hier gibt es Vertiefungsvorlesungen

„Non-standard Rendering Verfahren“ (Dr. Hans Joseph)

aber auch „Animation“

Physical Rendering (Gastvorlesung im WS 08/09)

... wie macht man so etwas?

Prof. Dr. Detlef KrömkerInstitut für Informatik

20 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Ein erster Optimierungsansatz

Immer noch typisch für den Detailgrad von synthetischen Bildern, zumindest in Realtime-Anwendungen, aber das ändert sich!:

Anzahl der Polygoneckpunkte pro Bild < Anzahl der zu errechnenden Pixel pro Bild

Optimierungsidee:Wir lösen das Beleuchtungsproblem nicht für jedes Pixel, sondern nur für jeden Polygoneckpunkt oder für jedes Polygon und versuchen durch Interpolation das Bild aufwandsreduziert zu erzeugen

Hoffnung: Durch geeignete Interpolationsverfahren lässt sich auch das facettierte Aussehen polygonaler Modelle verbessern

Prof. Dr. Detlef KrömkerInstitut für Informatik

21 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Prinzipien der Materie-Licht-Interaktion

Übliche Vereinfachungen:‣ Lichtquellen (emittieren Licht) und Objekte (absorbieren,reflektieren, (transmittieren) Licht)‣ idealisierte Reflektionen wirken additiv:‣ diffuse ‣ spiegelnde‣ ambiente‣ lokale vs. globale Beleuchtungsmodelle

Page 8: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

8

Prof. Dr. Detlef KrömkerInstitut für Informatik

22 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Lichtquellen (Idealisierungen)

Richtungslicht (directional light)andere Bezeichnungen: Target Direct Light (3D Studio Max)

Infinite Light (Maya)Directional Light (Softimage)Sun Light

Position im UnendlichenRichtung sdir

Beachte: alle Schatten fallen in die gleiche Richtung

Realitätsnah für „Sonnenlicht“ oder speziellen Reflektor

Prof. Dr. Detlef KrömkerInstitut für Informatik

23 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

(Positions- oder Punkt-) Lichtquellen (2)

Punktlichtquelle (point light)

Position spos

Je näher die Lichtquelle umso verschiedener die Schattenwinkel

Beispiel: Kugelleuchte

Prof. Dr. Detlef KrömkerInstitut für Informatik

24 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

(Positions-) Lichtquellen (3)

Spot Light

Position spos

Richtung sdir

Cut-off Angle scut

(Spot Exponent = Abfall der Helligkeit mit Abstand vom Zentrum)

Cut-off Angle

Page 9: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

9

Prof. Dr. Detlef KrömkerInstitut für Informatik

25 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Flächenlichtquellenarea light

Wirken wesentlich natürlicher sind aber vergleichsweise rechenaufwendig!

(approximiert mit z.B. 16 oder mehr Spotlights)

Erzeugen weiche Schatten (soft shadows) mit Halbschattenbereichen (penumbra)

Spherical Lightzum Vergleich links Punktlichtquelle

Flat Area Light

Ggf. Linear Lights (Linienlichter)ohne Bild

Prof. Dr. Detlef KrömkerInstitut für Informatik

26 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Allgemeine Lichtquellenparameter‣ Intensität für verschiedene Beleuchtungsanteilein der Regel in (R,G,B) (siehe später)‣ ambient intensity color samb‣ diffuse intensity color sdiff‣ specular intensity color sspec‣ Positionslichtquellen haben teilweise noch Dämpfungsparameter, z.B‣ (konstante) Dämpfung‣ Lineare Dämfung‣ Quadratische Dämpfung

Prof. Dr. Detlef KrömkerInstitut für Informatik

27 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Lokale Beleuchtungsmodelle ‣ Berücksichtigen nur die direkte Lichtquellen – Objekt – Interaktion (nicht die indirekte Beleuchtung durch andere Objekte) ‣ Addition verschieder Beiträge:‣ Diffuse Reflektion‣ Spiegelnde Reflektion‣ Ambiente Reflektion

(= sehr grobe Approximation der indirekten Beleuchtung)‣ (Emmission)

ambspecdifftot iiii ++=

Page 10: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

10

Prof. Dr. Detlef KrömkerInstitut für Informatik

28 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Relevante Vektoren und Winkel zur lokalen Beleuchtungsrechnung (alle normiert)

NL

V

R

θ θ α

L Richtung des Lichts

N Oberflächennormale

R Richtung des ideal reflektierten einfallenden Lichts

V ViewpointRichtung des Augpunktes

Prof. Dr. Detlef KrömkerInstitut für Informatik

29 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Berechnung des Vektors R

N

LR

θ θ

B B

A

LAB

2BLR

−=

+=

:rtnormalisieseien Vektoren Alle

LNR

L)(NLR

N)N(LNA

−=

−+=

⋅==

θ

θ

cos2

cos2

cosθ

LL)N(NR −⋅= 2

Prof. Dr. Detlef KrömkerInstitut für Informatik

30 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

φ

l n

Diffuse Reflektion‣ realisiert das Lambert‘sche Gesetz‣ Das Licht wird gleichmäßig in alle Richtungen der Halbkugel zurückgestrahlt,‣ ist also unabhängig vom Viewpoint‣ (richtig für ideal diffuse Reflektion)

aber nur für (rauhes) ‣ sehr nahe an der physikalischen Realität Plastik oder Kreide

( )( )

tionMultiplikanweisekomponente BG,R,

)0,max(

cosistdann

rt,normalisiesind

=⊗

⊗⋅=

=⋅

diffdiffdiff smlni

ln

ln,

φ

Page 11: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

11

Prof. Dr. Detlef KrömkerInstitut für Informatik

31 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Spiegelnd-Diffuse Reflektion nach Phong ‣ rein empirisch‣ physikalisch nicht erklärbar‣ erzeugt die gewünschten Glanzlichter

(highlights) ‣ mshi: shininess

( )

( )

lnr

lnlnr

sm

smvri

vrl,n,

Vektor egespiegelt an der ist

)(2mit

cos

,

−⋅=

⊗⊗=

⊗⊗⋅=

specspec

m

specspec

m

spec

shi

shi

rtnormalisie

α

ln r

Prof. Dr. Detlef KrömkerInstitut für Informatik

32 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Analyse des Terms cosn(αααα)Shininess n = mshi

0α =2

πα =2

πα = −

1n =

3n =

2n =

10n =

cos ( )n α

Prof. Dr. Detlef KrömkerInstitut für Informatik

33 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Wirkung des Parameters n = mshi‣ n bestimmt die Größe des Glanzlichts (Highlights)‣ je größer n umso „glänzender“ die Oberfläche und umso kleiner das Highlight‣ Beachte auch: Farbe des Highlights =

mspec = (1,1,1) Farbe der Lichtquelle

mspec = m diff Farbe wie Objektfarbe(z.B. bei Metallen)

specspec sm ⊗

Page 12: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

12

Prof. Dr. Detlef KrömkerInstitut für Informatik

34 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Spiegelnde Reflektion nach Blinn‣ Blinn (Phong) Reflektion‣ rein empirisch‣ schneller zu berechnen als Phong‣ wird in OpenGL und Direct 3D benutzt

( ) ( )

vl

vlh

nh

vlh

vhl,n,

+

+=

=⋅= shishi mm

speci

undzwischenHalbvektorist

rtnormalisie

φcos'

,,

ln h

( ) ( ) phongshiblinnshi mm −− ⋅≈⋅4

hnvr

( ) specspec

m

spec smi shi ⊗⋅⋅= )0,max( nh

Prof. Dr. Detlef KrömkerInstitut für Informatik

35 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Die „BRDF“ der Phong/Blinn Modelle

n klein n größer n ∞

Berechnet eine (grobe) Approximation der (BRDF ohne diffuse Reflektion)

Prof. Dr. Detlef KrömkerInstitut für Informatik

36 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Erweiterungen und weitere physikalische Näherungen‣ Fresnel Term: unterscheidet leitende und nichtleitende Materialien

berücksichtigt die Lichteintrittswinkelverschiedene Reflektionskoeffizienten‣ Anisotrope Oberflächen (Kajia, Cabral)

berücksichtigt die Lichtaustrittswinkelverschiedene Reflektionskoeffizient‣ Mikrofacetten (Selbstbeschattung an Oberflächen) (Blinn, Cabral und

Cook/Torrance)‣ Polarization (Wolf)‣ usw. siehe Literatur

Page 13: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

13

Prof. Dr. Detlef KrömkerInstitut für Informatik

37 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Ambiente Beleuchtung‣ Diffuse und spiegelnde Reflektion berechnen nur Beiträge, die direkt von Lichtquellen kommen.‣ Ein ambienter Term (Raumgrundhelligkeit) approximiert (sehr grob) die Beiträge von Reflektionen anderer Flächen, die eine „Grundhelligkeit“ erzeugen, ist prinzipiell ungerichtet‣ Meist mit einem einfachen additiven globalen Term berücksichtigt (OpenGL erlaubt einen Wert pro Lichtquelle):

ambambamb smi ⊗=

Prof. Dr. Detlef KrömkerInstitut für Informatik

38 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Varianten Beleuchtungsgleichunglighting equation

)(

Punktebehandelndzuder:p

1

.

2

specdiffambtot

posqposlc

specdiffambtot

d

sssd

Dämpfungsabhängigeentfernungggf

iiii

psps

iiii

++=

−+−+=

++= Basisgleichung

realistisch: sc= sl=0, sq=1

Prof. Dr. Detlef KrömkerInstitut für Informatik

39 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Variante der BeleuchtungsgleichungSpotlight

Direct3D behandelt Spotlights anders: inneren und äußeren Winkel für den Kegel: Licht ist konstant bis zum inneren Winkel, fällt linear nach außen ab.

))((

1

0)0,max( exp

specdiffambspottot

s

dir

spot

dc

Spotlightkein

KegelsdesaußerhalbSpotlightKegelsdesinnerhalbSpotlights

c

iiii

l

++=

⋅−

=

Page 14: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

14

Prof. Dr. Detlef KrömkerInstitut für Informatik

40 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

))(( specdiffambspotemiambglobtot

glob

emi

dc iiimmai

a

m

++++⊗=

Weitere ggf. hilfreiche ad-hoc Parameter

emmittierender Beitrag

globale ambiente Lichtquelle

Prof. Dr. Detlef KrömkerInstitut für Informatik

41 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Berücksichtigung mehrerer LichtquellenGesamtgleichung

ACHTUNG: Summe kann größer 1 sein, entweder auf 1 klemmen Farbverschiebung möglichoder auf 1 anteilig skalieren unterschiedlich Wirkungen

∑ ++++⊗=k

kspec

kdiff

kkamb

kspotemiambglobtot dc )(( iiimmai

Prof. Dr. Detlef KrömkerInstitut für Informatik

42 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Beispiele

()

()

Page 15: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

15

Prof. Dr. Detlef KrömkerInstitut für Informatik

43 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Übersicht

1. Einige grundsätzliche ÜberlegungenIdentifikation von 4 Problemen und deren Schwierigkeit

2. Prinzipien der Materie-Licht-Interaktion3. Aufwandsarme Approximationen für

„Einfache“ Lichtquellen in der CGLokale Beleuchtungsmodelle

4. Das Shading (visuelle Glättung polygonaler Modelle)5. Zusammenwirken in der Pipeline

Prof. Dr. Detlef KrömkerInstitut für Informatik

44 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Das Problem‣ Durch das Rastern bis jetzt nur facettierte Flächen (einfarbige Polygone) darstellbar.‣ Glättung der polygonalen Struktur nötig‣ Lösung: geeignete Interpolatoren

Prof. Dr. Detlef KrömkerInstitut für Informatik

45 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Voraussetzungen‣ Gegeben: ein Polygonnetz‣ Berechnung der Vertex-Normale

NA

N1

N4

N3

N2

44321 NNNN

N+++

=A

Page 16: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

16

Prof. Dr. Detlef KrömkerInstitut für Informatik

46 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Gouraud Shading (1971) 1. Schritt: Berechne Intensitäten I (RGB) an den Eckpunkten

2. Interpoliere die Intensitäten, z.B.

I4

I3

I2

I1

(xb,ys)(xa,ys)

(x4,y4)

(x3,y3)

(x2,y2)

(x1,y1)

IS

[ ]

[ ]

[ ])()(1

)()(1

)()(1

144141

122121

aSbSba

ab

S

SSb

SSa

xxIxxIyy

I

yyIyyIyy

I

yyIyyIyy

I

−+−−

=

−+−−

=

−+−−

=

oder Dreiecke mit baryzentrischen Koordinaten

Prof. Dr. Detlef KrömkerInstitut für Informatik

47 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Probleme des Gouraud Shading

Highlight (Glanzlicht)durch spekularen Term

wird hier nicht errechnet

wird errechnet

Highlights blitzen in bewegten Szenen auf!

Gouraud nur für diffuse Reflektion brauchbar

Prof. Dr. Detlef KrömkerInstitut für Informatik

48 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Machbanding‣ Effekt: trotz Interpolation sind die Kanten manchmal deutlich zu erkennen‣ Ursache: Entlang einer Scanline ist die 1. Ableitung nicht konstant‣ Auge erkennt diese Diskontinuität 2. Ordnung Machbands

Page 17: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

17

Prof. Dr. Detlef KrömkerInstitut für Informatik

49 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Phong Shading (1975)

+ Löst das Highlight-Problem+ Reduziert (stark) das Machbanding-Problem+ Interpoliert Normalen‒ Vektoren müssen interpoliert werden‒ Beleuchtungsgleichung muss für jedes Pixel

gerechnet werden

N2

N3

NS

N4

N1

NaNb

Prof. Dr. Detlef KrömkerInstitut für Informatik

50 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Offene Probleme‣ kantige Silhouetten der Objekte‣ InterpolationsproblemeInterpolation in Bildschirmkoordinaten entspricht nicht der

perspektivischen Verkürzung

Prof. Dr. Detlef KrömkerInstitut für Informatik

51 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Weitere Interpolationsprobleme

Der gleiche Polygonpunkt NS wird, obwohl das Polygon nur in seiner Ebene gedreht wurde, von unterschiedlichen Eckpunkten beeinflußt verschiedene Farben

N3

NS N4N2

N1

Na

Nb

NS

N1

N2

N3 N4

),,( 421 NNNNS f=

),,,( 4321 NNNNNS f=

Nb

Page 18: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

18

Prof. Dr. Detlef KrömkerInstitut für Informatik

52 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Weitere Interpolationsprobleme

Überlegen Sie und identifizieren Sie diese selbst!

Prof. Dr. Detlef KrömkerInstitut für Informatik

53 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Zusammenfassung‣ Glättung von polygonalen Modellen gelingt‣ Aber nur mit vielen Interpolationsproblemen‣ Trotzdem sind dies die Standardmethoden‣ Phong- und Gouraud-Shading und Lighting lassen sich einfach in den Scan-line Algorithmus integrieren!

Prof. Dr. Detlef KrömkerInstitut für Informatik

54 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Phong Shading (Speed-up Techniken)‣ Beleuchtungsgleichung nur für jedes 2. Pixel rechnen linear interpolieren‣ Numerische Optimierungen:‣ Duff (79) Interpolation und Beleuchtung in einen Ausdruck bringen, dann Forwärts-Differenzen nutzen‣ Bishop (86) ähnlich, aber nutzt Taylorreihe‣ Geometrische Optimierungen

Versuchen abzuschätzen, ob ein Highlight auftreten kannBergman 86 und Harrisson 88

Page 19: Graphische Datenverarbeitung · 1 Hier wird Wissen Wirklichkeit Graphische Datenverarbeitung Beleuchtungsrechnung Prof. Dr. Detlef Krömker Professur für Graphische Datenverarbeitung

19

Prof. Dr. Detlef KrömkerInstitut für Informatik

55 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Was haben wir geschafft?Was ist noch offen?

Wir haben die Standardverfahren fürs Rendering kennengelernt: Geometrie, Shading, lokale Beleuchtungsrechnung

aber diverse Einzelfragen bleiben: z.B.‣ globale Beleuchtungsmodelle: Ray Tracing für die ideal spiegelnde Reflexion (löst ganz nebenbei auch das Geometrieproblem anders!) und Radiosity für die diffuse gegenseitige Beleuchtung, sowie deren Integration‣ Schatten (basiert häufig auf Ray Tracing Methoden)‣ Texturen mit diversen Anwendungsmöglichkeiten (z.B. Reflection Map)‣ Transparenz (gut lösbar mit Ray Tracing, aber auch in der Pipeline möglich, siehe folgende Ergänzungsseiten)‣ u.v.a.m, z.B.... kommt in den Vertiefungsvorlesungen ... ich hoffe, Sie haben Lust daruf!

Prof. Dr. Detlef KrömkerInstitut für Informatik

56 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Zusammenfassung‣ Varianten des Phong-Modells sind die „Arbeitspferde“ der Computergraphik‣ wird in der Regel in der GPU berechnet (Pixel Shader)‣ Nicht verwechseln:‣ Shading = Geometrische visuelle Glättung (Interpolation)‣ (Gouraud: Farbwerte, Phong: Normalen)‣ Lighting = Beleuchtungsgleichung‣ Gouraud: diffuser + ambienter Anteil‣ Phong: spiegelnder + diffuser + ambienter Anteil

Prof. Dr. Detlef KrömkerInstitut für Informatik

57 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung

Ausblick

Nächste Woche‣ Texturen‣ Farbe‣ Systemstrukturen, insbesondere HW von Graphiksystemen ‣ Shader Programmierung

zum Abschluss: Ausblick: Vertiefungsveranstaltungen im WS 08/09 und im SS 09