• Keine Ergebnisse gefunden

Erinnerung: Lokale Beleuchtung

N/A
N/A
Protected

Academic year: 2021

Aktie "Erinnerung: Lokale Beleuchtung"

Copied!
60
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Thema: 6. Rendering

Dozent: Prof. Dr. Dirk Bartz ICCAS

dirk.bartz@medizin.uni-leipzig.de Sprechstunde: Do 17 Uhr (nach Vorlesung)

Umfang: 2

Prüfungsfach: Medizininformatik, Angewandte Informatik

(2)

§1 Hardwaregrundlagen

§2 Transformationen und Projektionen

§3 Repräsentation und Modellierung von Objekten

§4 Rasterung

§5 Visibilität und Verdeckung

§6 Rendering ...

6.6 Globale Beleuchtung 6.6.1 Raytracing

6.6.2 Radiosity-Verfahren 6.7 Renderpipeline

§7 Abbildungsverfahren (Texturen, etc.)

§8 Freiformmodellierung

Anhang: Graphiksprachen und Graphikstandards

Anhang: Einführung in OpenGL Weitere Themen:

Netze, Fraktale, Animation, ...

(3)

Erinnerung: Lokale Beleuchtung

ƒ

Beachtet wird nur die Wechselwirkung der Oberfläche mit direkt aus Lichtquellen einfallendem Licht.

ƒ

Dabei wichtige Faktoren:

ƒ Geometrie: Oberflächennormale, Licht-, Blickrichtung

ƒ Reflexionsverhalten der Oberflächen

ƒ

Für photorealistische(re) Darstellung ist globale Beleuchtung notwendig

ƒ Physikalisch basierte Modellierung der Lichtausbreitung

ƒ Beachtet auch Wechselwirkung zwischen Objekten

(4)

Lokale Beleuchtung:

Diffuse Reflexion

(5)

Lokale Beleuchtung:

Diffuse Reflexion Lokale Beleuchtung:

Spiegelnde Reflexion

(6)

Globale Beleuchtung:

Mehrfachreflexion (Weiche) Schatten Lokale Beleuchtung:

Diffuse Reflexion Lokale Beleuchtung:

Spiegelnde Reflexion

(7)

Beleuchtungsphänomene:

Kaustiken Farbbluten

Spiegelungen

Weiche Schatten Indirekte Beleuchtung

Direkte Beleuchtung

(8)

Zwei Hauptansätze

ƒ

Raytracing (Whitted, 1979)

ƒ

Modelliert Lichtausbreitung nach Gesetzen der idealen Spiegelung und Brechung

ƒ

Für spiegelnde und transparente Oberflächen geeignet

ƒ

Blickrichtungsabhängig

ƒ

Radiosity-Verfahren (Goral & Greenberg, 1984)

ƒ

Lichtausbreitung basierend auf Energieerhaltung

ƒ

Vorberechnung aller Interaktionen des Lichts mit Objekten der Szene

ƒ

Diffuse Reflexion

ƒ

Unabhängig von der Blickrichtung

(9)

Besonders geeignet für Szenen mit hohem spiegelndem und transparentem Flächenanteil

(10)

Beispiele

(11)

Grundprinzip des rekursiven Raytracing

ƒ

Verfolgung der Lichtstrahlen von der Quelle bis zum Auge

ƒ

Nur wenige Strahlen erreichen das Auge, daher

Umkehrung des Verfahrens (Reziprozität der Reflexion)

ƒ

Vom Augpunkt wird durch jedes Pixel des Bildschirms ein Strahl in die Szene gesendet.

ƒ

Bei Schnittpunkten mit Objekten werden ideal reflektierte und ideal gebrochene Strahlen weiterverfolgt.

ƒ

Rekursive Auswertung des lokalen Beleuchtungsmodells

(12)

ƒ

Vom Augpunkt werden Strahlen durch die Pixel in die

Szene geschickt.

(13)

ƒ

Schneidet ein Strahl mehr als ein Objekt, wird das nächstliegende gezeichnet.

ƒ

Sonst erscheint die Hintergrundfarbe.

(14)

ƒ

Schneidet ein Strahl ein Objekt, so werden

Schattenstrahlen vom Schnittpunkt zu allen Lichtquellen

gesendet.

(15)

ƒ

Schneidet ein Strahl ein Objekt, so werden

Schattenstrahlen vom Schnittpunkt zu allen Lichtquellen gesendet.

ƒ

Treffen die Schattenstrahlen auf ein Objekt, so liegt der

Punkt im Schatten.

(16)

ƒ

Ist die Oberfläche spiegelnd, wird ein reflektierter Strahl

verfolgt.

(17)

ƒ

Ist die Oberfläche transparent, wird zusätzlich ein

gebrochener Strahl in die Szene geschickt.

(18)

Algorithmus in Pseudocode

Für jeden Strahl {

1. Bestimme Schnittpunkt mit nächstliegendem Objekt 2. Falls Schattenstrahl kein Objekt schneidet, werte

Phong-Beleuchtungsmodell im Schnittpunkt aus 3. Verfolge ideal reflektierten Lichtstrahl und addiere

Leuchtdichte aus dieser Richtung

4. Verfolge ideal gebrochenen Lichtstrahl und addiere Leuchtdichte aus dieser Richtung 5. Gebe summierte Leuchtdichte zurück

}

Schattenstrahl S1

Reflexion R1 R2

Brechung B1

B2 S2

Rekursion!

(19)

Strahlenbaum

ƒ

Beschreibung der rekursiven Strahlverfolgung

ƒ

Traversierung zur Bestimmung der Pixel-Intensität, berücksichtigt:

ƒ

Lichtquellenintensität I

L

ƒ

Hintergrundintensität I

H

ƒ

Materialkoeffizienten r

ƒ

Verdeckung von Lichtquellen V

2 2 2

2 2

1

1 1 1

1 1

, ,

, 2

, ,

, 1

) , (

) , (

B P b R

P r P

phong R

B P b R

P r P

phong ges

I r

I r

I L P V I

I r I

r I

L P V I

+ +

=

+ +

=

R2 B2

S2 R1 S1 B1

IL IH

IL IH IH

P2 P1

(20)

Abbruchbedingungen

ƒ

Verfolgte Strahlen schneiden keine Objekte mehr

ƒ

Vorgegebene maximale Baumtiefe ist erreicht

ƒ

Farbanteil an der Pixelfarbe eines zu verfolgenden Teilstrahls ist zu gering (adaptive

Rekursionstiefenkontrolle)

(21)

Anti-Aliasing

ƒ

Strahlen ohne Ausdehnung verursachen Abtastfehler

(22)

Anti-Aliasing: Lösungen

ƒ

Strahlen ohne Ausdehnung verursachen Abtastfehler

ƒ

Supersampling

ƒ Mehrere Strahlen pro Pixel und Mittelung der Farbwerte

grid random jitter stochastisch

(z.B. Poisson)

(23)

Anti-Aliasing: Lösungen

ƒ

Strahlen ohne Ausdehnung verursachen Abtastfehler

ƒ

Supersampling

ƒ Mehrere Strahlen pro Pixel und Mittelung der Farbwerte

ƒ

Adaptives Supersampling

ƒ An Grenzen mehr Strahlen als auf homogenen Flächen

ƒ Vorgehen:

ƒ Senden einiger Strahlen pro Pixel

ƒ Unterscheiden sich die Werte, werden weitere gesendet

ƒ Stochastische Verteilung möglich

(24)

Distributed Raytracing

ƒ

Ideale Reflexion und Brechung entspricht nicht der

Realität und lässt gerenderte Szenen unecht erscheinen.

ƒ

Ziel: Realistisch unscharfe Effekte

ƒ Verschwommene Reflexionen und Brechungen

ƒ Weiche Schatten

ƒ Tiefenunschärfe

ƒ Bewegungsunschärfe

(25)

Distributed Raytracing: Verschwommene Reflexionen

ƒ

Vervielfachung der reflektierten Strahlen

ƒ

Stochastische Verteilung der Strahlrichtungen

ƒ

Anschließende Mittelung der Farbwerte

ƒ

Auch für Brechung anzuwenden

(26)

Beispiel: Verschwommene Lichtreflexionen

(27)

Distributed Raytracing: Halbschatten

ƒ

Verwendung von Flächenlichtquellen

ƒ

Simuliert durch Vielzahl punktförmiger Lichtquellen

ƒ

Stochastische Verteilung der Schattenstrahlen

ƒ

Stärke des Schattens entspricht Verhältnis von verdeckten

zur Gesamtzahl an Schattenstrahlen

(28)
(29)

Distributed Raytracing: Tiefenunschärfe

ƒ

Simulation der Blendenöffnung einer Kamera

ƒ

Punkte außerhalb der Schärfeebene erscheinen

verschwommen (wenn größer als circle of confusion).

ƒ

Korrekte Berechnung der Linsenbrechung mit

stochastischer Strahlverteilung über Linsenoberfläche.

(30)

Tiefenunschärfe

Blendenöffnung bestimmt Bereich der Szene, der

scharf abgebildet wird

(depth of field).

(31)
(32)

Distributed Raytracing: Bewegungsunschärfe

ƒ

Zeitliche Verteilung der Augstrahlen

ƒ

Senden von Strahlen durch gleichen Punkt mit zeitlicher Verzögerung

ƒ

Filter bestimmt Verschlußzeit

und damit Stärke des

Motion Blur

(33)

Warum ist Raytracing so langsam?

ƒ

Aufwändige Schnittpunktberechnungen (Strahl-Objekt)

ƒ

Viele Berechnungen Beschleunigung

ƒ

Schnellere Schnittpunktberechnungen

ƒ

Bounding Boxes

ƒ

Weniger Strahlen

ƒ

Adaptive Rekursionstiefenkontrolle

ƒ

Adaptives Anti-Aliasing

ƒ

Weniger Schnittpunktberechnungen

ƒ

Hüllkörperhierarchien (z.B. Octrees)

ƒ

Light Buffer

) ( n m

O

Anzahl der Strahlen

Anzahl der Objekte

(34)

Eigenschaften

+ Gute Simulation des physikalischen Beleuchtungsvorgangs (Strahlengang) + Hervorragend für Spiegelungen geeignet + Sichtbarkeitsproblem automatisch gelöst + Implizite Schattenberechnung

+ Große Wirklichkeitsnähe

- Für diffuse Reflektion weniger geeignet - Sehr großer Rechenaufwand

Schattenstrahl S1

Reflexion R2 R1

Brechung B1 S2

(35)

Erste Fakten

ƒ

Modelliert rein diffuse Reflexion

ƒ

Ausbreitung des Lichts unter Beachtung des

Energiegleichgewichts in einem geschlossenem System

ƒ

Gleichgewicht des durch Lichtquellen zugeführten und durch Oberflächen absorbierten Lichtstroms

ƒ

Modellierung von unterschiedlichem Einfall des ambienten (indirekten) Lichts besser als beim klassischen Raytracing

ƒ

Gut geeignet für Lichtverteilung in Gebäuden

(36)

Radiosity B (spezifische Ausstrahlung)

ƒ

Lichtmenge Q, die ein Flächenelement dA pro Zeiteinheit dt emittiert

ƒ

Oder: Lichtstrom Φ, der von Flächenelement dA ausgesendet wird

dA d dA

dt

B dQ = φ

= ⋅

(37)

Gegeben:

ƒ

Szene in Flächensegmente unterteilt

ƒ

Geometrische Informationen über die gegenseitige Lage aller Objekte

ƒ

Lichttechnische Kenngrößen der Objekte

Gesucht:

ƒ

Radiosity für jede Fläche

ƒ

Dient dann zur Farbgebung beim Rendern der Szene

(38)

Radiosity-Gleichung

ƒ

Lichtstrom einer infinitesimalen Fläche dA

j

ƒ

Ausgedrückt durch Radiosities Emittiert

dA B = d φ

+

=

j i A

i dA

dA dA

j j

dA j

dA

i

i j

i j

j

dA E dA F B dA

B

,

ρ

Ij j

Ej

j

φ ρ φ

φ = +

Auftreffend Reflexionsgrad

+

=

j i A

i dA

dA dA

j j

dA dA

i

i j

i j

j

F B dA

E dA B

,

ρ 1

(39)

Vereinfachung der Radiosity-Gleichung

ƒ

Statt infinitesimaler Flächenelemente dA

i

:

ƒ

Kleine, ebene Patches A

i

ƒ

Reflexionsgrad und Radiosity einheitlich

ƒ

Aus Integralgleichung wurde lineares Gleichungssystem

=

+

=

N

i j

i i

ij j

j

j

A

B A F E

B

1

ρ

(40)

Formfaktoren

ƒ

F

ij

: Anteil des Lichtstroms von A

i

, der A

j

erreicht

ƒ

Nur abhängig von

ƒ

Geometrie (Abstand, Orientierung, Größe)

ƒ

Sichtbarkeit

(41)

Berechnung der Formfaktoren F

ij

j ij j i

ij

i j A A ij

j i

i ij

A r V

F

dA dA r V

F A

i j

2

2

cos cos

cos 1 cos

= ⋅

=

∫ ∫

π

θ θ

π

θ θ

Anmerkung:

Herleitung über Grundgesetz der Strahlungsübertragung

⎩ ⎨

= ⎧

sonst

sichtbar V wenn

, 0

, 1

Sichtbarkeit:

i j

i

dA dA

dA d

F = φ

(42)

Approximation der Formfaktoren F

SEi

1. Senderfläche S in Patches S

i

unterteilen

2. Hemisphäre für jedes Patch in Normalenrichtung 3. Empfängerflächen E

i

auf Hemisphäre projizieren

(Verdeckung beachten)

4. Für jedes E

i

Anteil an Hemisphäre bestimmen, der von ihr bedeckt wird 5. Beiträge von E

i

über alle

Patches S

i

mitteln

(43)

Hemicube-Verfahren

ƒ

Einfachere Approximation der Formfaktoren

ƒ

Hemisphäre durch Hemicube ersetzen

ƒ

Einfachere Abbildung der Empfänger

ƒ

Unterschiedliche Gewichtung

der Teilflächen des Hemicube

(44)

Lösung des Radiosity-Gleichungssystems

ƒ

Matrixschreibweise:

ji j

ij

i

F A F

A =

=

=

+

=

+

=

N i

i ji j

j j

N

i j

i i ij j

j j

B F ρ

E B

A B A F ρ

E B

1

1

wegen Reziprozität:

E B

ρF B

ρF E

B r r r r r

=

− Ι

⇒ +

= ( )

NxN-Matrizen

N-Vektoren

(45)

Lösung des Gleichungssystems

ƒ

Dieses System wird getrennt für die verschiedenen Frequenzen des Lichts (z.B. RGB) gelöst.

ƒ

Koeffizientenmatrix diagonaldominant, daher lösbar mit iterativem Verfahren, wie Gauss-Seidel

ƒ „Gathering“ bzw. „Sammeln“

⎥ ⎥

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

⎢ ⎢

n n

n2 n n1

n 21

12

E E E

=

B B B

F ρ F

ρ

F ρ F

ρ

F ρ F

ρ

M M

L M O M

M

L L

2 1

2 1

2n 2 2

1n 1 1

1 1

1

(46)

Darstellung einer Szene

(47)

Aufteilung der Szene

ƒ

Je feiner die Aufteilung der Szene in Patches, desto besser das Renderingergebnis

ƒ

Aber Aufwand steigt mit Anzahl N der Patches, z.B.

Anzahl der Formfaktoren O(N

2

)

ƒ

Alternative zu Gauss-Seidel: Progressive Refinement

(48)

Progressive Refinement

ƒ

„Verteilen“ statt „Sammeln“

ƒ

Intialisierung: B

i

=E

i

und ∆B

i

=E

i

ƒ

Pro Iterationsschritt:

Verteilen der Radiosity der Fläche mit größten unverteilten Radiosity ∆B

i

(beginnend bei stärkster Lichtquelle)

ƒ

Vorteile:

ƒ

Schnelle Konvergenz (nach wenigen Iterationen)

ƒ

Pro Iterationsschritt nur Formfaktoren

der aktuellen Fläche benötigt

(49)
(50)

Nur Radiosity

(51)
(52)

Nur Radiosity

(53)

Radiosity und

Raytracing

(54)

Begriffe

ƒ

Rendering: Der Prozess der Bildsynthese, also die Abbildung eines Modells bzw. einer Szene auf ein digitales Bild (auf dem Bildschirm).

ƒ

Renderpipeline: Eine konkrete Implementierung dieses mehrstufigen Prozesses in Soft- bzw. Hardware.

ƒ

Die einzelnen Stufen der Pipeline setzen die vorgestellten Basis-Algorithmen der Computergraphik um.

ƒ

Der Aufbau von Renderpipelines kann sich je nach Art

und Umsetzung des Renderings stark unterscheiden.

(55)

database traversal

modeling transformation

viewing operation

visible-surface determination scan conversion

shading

image

scene model / scene graph

front-end (geometry processing)

back-end (rasterization)

Genereller Aufbau

(56)

modeling transformation database

traversal

trivial

accept / reject lighting

viewing

transformation clipping rasterization display

Beispiel: Lokales Beleuchtungsmodell

ƒ

Hier: Gouraud-Shading mit z-Buffer

(57)

modeling transformation database

traversal

trivial accept / reject

clipping

viewing transformation

display rasterization

(with lighting)

Beispiel: Lokales Beleuchtungsmodell

ƒ

hier: Phong-Shading mit z-Buffer

(58)

new database

traversal trivial

accept / reject

clipping

viewing transformation

display rasterization

modeling transformation database

traversal

vertex intensity calculation

(radiosity)

new database

Beispiel: Globales Beleuchtungsmodell

ƒ

hier: Radiosity mit Gouraud-Shading und z-Buffer

(59)

modeling

transformation raytracing display

database traversal

Beispiel: Globales Beleuchtungsmodell

ƒ

hier: Raytracing

(60)

ƒ

Computergraphik, Universität Leipzig (Prof. G. Scheuermann)

ƒ

Graphische Datenverarbeitung I, Universität Tübingen (Prof. W. Straßer)

ƒ

Graphische Datenverarbeitung I, TU Darmstadt (Prof. M. Alexa)

ƒ

Computergraphik III, Uni Siegen (Rezk-Salama)

Referenzen

ÄHNLICHE DOKUMENTE

Dieses Prinzip lautet: dass der einzige Grund, aus dem die Menschheit, einzeln oder vereint, sich in die Handlungsfreiheit eines ihrer Mitglieder einzumengen

Es soll - so sein letzter Wille - dazu dienen, daß die künftigen Forsyte-Generationen, die in gerader Linie von seinem Vater abstammen, im Besitz einer Kapitalanlage sind, die

We study integrality over rings (all commutative in this paper) and over ideal semifiltrations (a generalization of integrality over ideals).. We begin by reproving classical

entscheidender Bedeutung für das Rote Kreuz von Säo Tomé und Principe, und es konnte sich daraufhin dermassen entwickeln und seine Organisation ausbauen, dass es für die

Was jedoch zur Bildung einer repräsentativen Probe für die Nährstoffanalyse gut ist, muss nicht unbedingt für die Mykotoxinbestimmung zu- treffen.. Ideal für die Mykotoxin-

Viele Indizien sprechen dafür, dass die rechte Szene, die sich bun- desweit vernetzt hat, hier nicht nur besonders stark aufgestellt ist, sondern sich bei ihren ständigen Bemühungen

Austauschmesser mit aufgeschraubter Messerwechselvorrichtung ganz nach oben und nach links in den Messerträger schieben (1.) (siehe Bild A), dabei die beiden Federn nach

The market clearing price is equal to unit wage costs if the expenditure ratio is unity and distributed profit is zero.. In this elementary case, profit per unit is zero and