hauptseminar – computer graphics stephen lauschke computer graphics & visualization...

28
Hauptseminar – Computer Graphics Hauptseminar – Computer Graphics Stephen Lauschke Stephen Lauschke computer graphics & computer graphics & visualization visualization Pre-Computed Radiance Pre-Computed Radiance Transfer – PRT Transfer – PRT in Anlehnung an SigGraph 2005 Course: in Anlehnung an SigGraph 2005 Course: PRT Theory and Practise PRT Theory and Practise HS: Aspects of Game Engine Design HS: Aspects of Game Engine Design

Upload: berhtram-blumer

Post on 06-Apr-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke

computer graphics & computer graphics & visualizationvisualization

Pre-Computed Radiance Pre-Computed Radiance Transfer – PRTTransfer – PRT

in Anlehnung an SigGraph 2005 Course:in Anlehnung an SigGraph 2005 Course:PRT Theory and PractisePRT Theory and Practise

HS: Aspects of Game Engine DesignHS: Aspects of Game Engine Design

Page 2: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

AgendaAgenda- EinleitungEinleitung

- HerausforderungHerausforderung- Precomputed Radiance TransferPrecomputed Radiance Transfer

- Was ist PRT? Was ist es nicht?Was ist PRT? Was ist es nicht?- Wie funktionierts? – Einwenig MathematikWie funktionierts? – Einwenig Mathematik- PRT weitergedachtPRT weitergedacht

- ZusammenfassungZusammenfassung- LiteraturLiteratur- DirectX API und DemosDirectX API und Demos

Page 3: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Einleitung - Anforderungen an SpieleEinleitung - Anforderungen an Spiele- Spieler sollen das Gefühl haben Teil der virtuellen Spieler sollen das Gefühl haben Teil der virtuellen

Welt zu sein.Welt zu sein.

• Hohe Anforderung an Realismus, z.B.:Hohe Anforderung an Realismus, z.B.:• komplexe Szenenkomplexe Szenen• realistische Interaktion mit Objektenrealistische Interaktion mit Objekten• intelligentes Verhalten von Gegnernintelligentes Verhalten von Gegnern• SoundeffekteSoundeffekte• BeleuchtungseffekteBeleuchtungseffekte• ......

Beleuchtungseffekte spielen bei der Beleuchtungseffekte spielen bei der Synthese photorealistischer Bilder eine Synthese photorealistischer Bilder eine übergeordnete Rolle.übergeordnete Rolle.

BisherBisher: Phong Shading, Texturen : Phong Shading, Texturen (Lightmaps) + Simulation von Schatten (Lightmaps) + Simulation von Schatten etc.etc. Physikalisch inkorrekt, da stark Physikalisch inkorrekt, da stark vereinfacht oder zu statischvereinfacht oder zu statisch Keine globalen BeleuchtungsmodelleKeine globalen Beleuchtungsmodelle PRT ist die AntwortPRT ist die Antwort

Page 4: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Einleitung – Die Herausforderung (1)Einleitung – Die Herausforderung (1)- Simulation komplexer physikalischer Zusammenhänge Simulation komplexer physikalischer Zusammenhänge

erforderlich...erforderlich...

BeleuchtungsumgebungenBeleuchtungsumgebungen

TransporteffekteTransporteffekteMeterial-Meterial-

eigenschafteneigenschaften

Wie berechnet man Wie berechnet man diese Effekte?diese Effekte?Die Die Rendering Rendering

EquationEquation gibt Antworten. gibt Antworten.

Page 5: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Einleitung – Die Herausforderung (2)Einleitung – Die Herausforderung (2)- Die Rendering Equation (RE) ist eine math. Die Rendering Equation (RE) ist eine math.

Formalisierung der Beleuchtungsproblematik.Formalisierung der Beleuchtungsproblematik.- Alle Beleuchtungsmodelle setzen Teile der RE um.Alle Beleuchtungsmodelle setzen Teile der RE um.

Jedes Beleuchtungsmodell lässt sich an der RE Jedes Beleuchtungsmodell lässt sich an der RE messen.messen.

ZielZiel: Effiziente Umsetzung vieler Aspekte der RE: Effiziente Umsetzung vieler Aspekte der RE

Vom Punkt Vom Punkt pp ausgehende Strahlungausgehende Strahlung

Radianz-Radianz-

funktionfunktion

Transfer-Transfer-

funktionfunktionIntegral über Integral über

HemisphäreHemisphäre

dsstslpL )()()(

Page 6: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Einleitung – Herausforderung (3)Einleitung – Herausforderung (3)- Echtzeitsysteme müssen drei Schwierigkeiten Echtzeitsysteme müssen drei Schwierigkeiten

bewältigen:bewältigen:

- Komplexe Materialien (BRDF)Komplexe Materialien (BRDF)

- Integration über alle Richtungen Integration über alle Richtungen - der Hemisphäre über einem der Hemisphäre über einem

BeleuchtungspunktBeleuchtungspunkt

- Reflektion und VerdeckungReflektion und Verdeckung

Page 7: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Was ist PRT?Was ist PRT?- Methode zur Simulation globaler BeleuchtungseffekteMethode zur Simulation globaler Beleuchtungseffekte- Trennt Beleuchtung und TransporteigenschaftenTrennt Beleuchtung und Transporteigenschaften- Berechnet ohne Kenntnis von Lichtquellen Berechnet ohne Kenntnis von Lichtquellen

Strahlungstransfer in einem Punkt offlineStrahlungstransfer in einem Punkt offline- Schattiert Objekte durch Kombination von Lichtquellen und Schattiert Objekte durch Kombination von Lichtquellen und

vorberechneten Transportdatenvorberechneten Transportdaten- Schatten, Color-Bleeding, CausticsSchatten, Color-Bleeding, Caustics- Bewegliche Lichtquellen und ObjekteBewegliche Lichtquellen und Objekte- Kompression durch Spherical Harmonics oder Haar WaveletsKompression durch Spherical Harmonics oder Haar Wavelets- Gut für Simulation in Echtzeitumgebungen geeignet: Gut für Simulation in Echtzeitumgebungen geeignet:

- Einfaches Skalarprodukt im diffusen FallEinfaches Skalarprodukt im diffusen Fall- Vektor-Matrix-Multiplikation für spekularen FallVektor-Matrix-Multiplikation für spekularen Fall

- Area Lights und generelle Beleuchtungsumgebungen Area Lights und generelle Beleuchtungsumgebungen realistische weiche Schattenrealistische weiche Schatten

- Performanz nicht abhängig von Anzahl der LichtquellenPerformanz nicht abhängig von Anzahl der Lichtquellen

Page 8: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Grenzen von PRT – Was ist es nichtGrenzen von PRT – Was ist es nicht- Arbeitet mit entfernten Lichtquellen; lokale Arbeitet mit entfernten Lichtquellen; lokale

Lichtquellen möglich aber teuerLichtquellen möglich aber teuer- Annahme: Beleuchtung variiert bei entfernten Annahme: Beleuchtung variiert bei entfernten

Lichtquellen kaumLichtquellen kaum- Lokale Lichtquellen erfordern Multi-Sampling/GradientsLokale Lichtquellen erfordern Multi-Sampling/Gradients

- Objekte nicht verformbarObjekte nicht verformbar- Animation von Objekten im allgemeinen schwierig, Animation von Objekten im allgemeinen schwierig,

aber machbaraber machbar- Hier: Neighbourhood-Transfer: Großes Objekt beeinflusst Hier: Neighbourhood-Transfer: Großes Objekt beeinflusst

nahe kleine Objekte (z.B. Terrain - Charakter), Interaktion nahe kleine Objekte (z.B. Terrain - Charakter), Interaktion in anderer Richtung problematisch.in anderer Richtung problematisch.

- Nur niederfrequentes Licht effizient simulierbarNur niederfrequentes Licht effizient simulierbar

Page 9: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Die IdeeDie Idee

- Projektion von Projektion von TT und und LL auf auf orthonormale Basisfunktionenorthonormale Basisfunktionen- Da die Basisfunktionen orthonormal gewählt wurden läst sich das Da die Basisfunktionen orthonormal gewählt wurden läst sich das

Integral als Integral als SkalarproduktSkalarprodukt darstellen darstellen- Als Basisfunktionen bieten sich Spherical Harmonics anAls Basisfunktionen bieten sich Spherical Harmonics an

- SHs sind orthonormalSHs sind orthonormal- SHs sind rotationsinvariant SHs sind rotationsinvariant

Keine Fluktuationen bei Animation der LichtquelleKeine Fluktuationen bei Animation der Lichtquelle Keine Aliasing ProblemeKeine Aliasing Probleme

iiBlL ~

Transferfunktion:Transferfunktion:

Die Antwort eines Objektes auf seine Die Antwort eines Objektes auf seine Beleuchtung kann als Funktion Beleuchtung kann als Funktion aufgefasst werden, die eingehende aufgefasst werden, die eingehende Strahlung auf ausgehende abbildet.Strahlung auf ausgehende abbildet.

Beleuchtungsfunktion:Beleuchtungsfunktion:

Die Lichtquellen können als Funktionen Die Lichtquellen können als Funktionen aufgefasst werden.aufgefasst werden.

dssTsLpLout )()()(

Page 10: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

BasisfunktionenBasisfunktionen- Funktionen lassen sich als Summe gewichteter Funktionen lassen sich als Summe gewichteter

Basisfunktionen darstellen (Projektion auf Basisfunktionen):Basisfunktionen darstellen (Projektion auf Basisfunktionen):

)()()(~

xBcxfxf ii ii Bxfc )(

Page 11: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Orthogonal und OrthonormalOrthogonal und Orthonormal- OrthogonaleOrthogonale Basis-Funktionen haben folgende Eigenschaft: Basis-Funktionen haben folgende Eigenschaft:

- Für die Untergruppe der Für die Untergruppe der orthonormalenorthonormalen Basisfunktionen Basisfunktionen gilt: gilt: c = 1c = 1

Page 12: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Der ClouDer Clou dssTsL )(*)(

iiii BtBlTL **~~

tltl ii ,*

)()()(~

xBcxfxf ii

11

- Vektor Vektor tt wird vorberechnet wird vorberechnet- Vector Vector l l wird zur Laufzeit wird zur Laufzeit

berechnetberechnet- Effiziente Berechnung des Effiziente Berechnung des

Skalarprodukts auf ShadernSkalarprodukts auf Shadern- Spekularer Fall abhängig von Spekularer Fall abhängig von

Blickrichtung Blickrichtung Transfermatrix TransfermatrixIn Sachen Performanz:In Sachen Performanz:- Licht ist niedrigfrequentLicht ist niedrigfrequent- Lichtquelle weit entfernt Lichtquelle weit entfernt

Beleuchtung variiert Beleuchtung variiert vernachlässigbar für verschiedene vernachlässigbar für verschiedene Punkte auf der OberflächePunkte auf der Oberfläche

Page 13: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

dssTsLpLout )()()(

Neumann ExpansionNeumann Expansion

0iitl

0 mal Reflektiert0 mal Reflektiert 1 mal Reflektiert1 mal Reflektiert 2 mal Reflektiert2 mal Reflektiert

1iitl 2

iitl

piiiiii tltttl ...)( 210

...)()()()( 210 pLpLpLpLout

- Transportinformationen der direkten Beleuchtung und von n Bounces in Transportinformationen der direkten Beleuchtung und von n Bounces in einem Transfer-Vektoreinem Transfer-Vektor

- Unabhängig von der BeleuchtungUnabhängig von der Beleuchtung- Transporteffekte wie weiche Shatten, Color-Bleeding, Caustics sind Transporteffekte wie weiche Shatten, Color-Bleeding, Caustics sind

aufwendig zu berechnen aufwendig zu berechnen vorberechnet vorberechnet - Im spekularen Fall eine TransfermatrixIm spekularen Fall eine Transfermatrix

Page 14: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

PRT unter der LupePRT unter der Lupe- Wie reflektiert ein Objekt eintreffende Strahlung auf sich selbst und seine Wie reflektiert ein Objekt eintreffende Strahlung auf sich selbst und seine

Umgebung?Umgebung?- Wie werden kleine Objekte in der Wie werden kleine Objekte in der Umgebung beeinflusst?Umgebung beeinflusst?

- Szenario:Szenario:- Self-TransferSelf-Transfer: Isoliert betrachtetes Objekt : Isoliert betrachtetes Objekt OO- Neighbourhood-TransferNeighbourhood-Transfer::

Bewegliche/Neue Objekte Bewegliche/Neue Objekte RR(hier nur Einfluss (hier nur Einfluss O O → R→ R))

- Spekulare OberflächeSpekulare Oberfläche- BeleuchtungBeleuchtung L Lenvenv durch unendlich weit durch unendlich weit

entferntes Licht (Environment Map),entferntes Licht (Environment Map),

- Aufgaben:Aufgaben:- Welche Strahlung verlässt Punkt p?Welche Strahlung verlässt Punkt p?- Auf der Oberfläche?Auf der Oberfläche?- An einem freien Raumpunkt?An einem freien Raumpunkt?- Berechnung der Transfermatrizen?Berechnung der Transfermatrizen?

Page 15: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Outgoing vs. Transfered incidentOutgoing vs. Transfered incident- Ziel ist es die Ziel ist es die Outgoing RadianceOutgoing Radiance zu berechnen zu berechnen- Aber wir wollen:Aber wir wollen:

- Spekulare EffekteSpekulare Effekte- Outgoing RadianceOutgoing Radiance ist abhängig von der Blickrichtung ist abhängig von der Blickrichtung- BRDF ist nur für den diffuse Komponente konstantBRDF ist nur für den diffuse Komponente konstant

- Neighbourhood-Transfer:Neighbourhood-Transfer:- Wir wollen den Einfluss eines Objektes Wir wollen den Einfluss eines Objektes OO auf ein anderes auf ein anderes RR

zur Laufzeit berechnenzur Laufzeit berechnen Selbst im diffusen Fall reicht ein Vektor nicht aus, da die Selbst im diffusen Fall reicht ein Vektor nicht aus, da die Normalen des Normalen des Recievers RRecievers R unbekannt sind unbekannt sind Outgoing RadianceOutgoing Radiance kann an diesen Punkten nicht kann an diesen Punkten nicht vorberechnet werdenvorberechnet werden

Die Lösung: Die Lösung: Transfered incident RadianceTransfered incident Radiance

Page 16: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Transfered Incident RadianceTransfered Incident Radiance- Beschreibt für jeden Punkt Beschreibt für jeden Punkt pp der Szene der Szene

(auf (auf OO, oder frei im Raum) die einfallende , oder frei im Raum) die einfallende Strahlung aus allen RichtungenStrahlung aus allen Richtungen Unterscheidet sich von LUnterscheidet sich von Lenvenv (Verdeckung, Reflektion)(Verdeckung, Reflektion) Was sieht Punkt Was sieht Punkt pp? – Oder wie läst ? – Oder wie läst sich sich LLenvenv durch eine andere Funktion durch eine andere Funktion maskieren? maskieren? → Produkt Projektion→ Produkt Projektion Sphärische Funktion; für jeden Sphärische Funktion; für jeden Punkt Punkt pp anders anders Neighbourhood-Transfer: Neighbourhood-Transfer: Muss für freie Raumpunkte Muss für freie Raumpunkte berechnet werden; dann berechnet werden; dann InterpolationInterpolation

Page 17: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

- Abhängigkeiten linear!Abhängigkeiten linear!

- Formal:Formal:- , Bekannt zur Laufzeit, Bekannt zur Laufzeit- , wird berechnet. Wie?, wird berechnet. Wie?- , ist gesucht, ist gesucht

Die TransfermatrixDie Transfermatrix

lTl Pp

Projektion auf BasisfunktionenProjektion auf Basisfunktionen

l

plPT

Page 18: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

- Die iDie ite te Spalte von approximiert die Spalte von approximiert die Erscheinung der Szene, aus der Perspektive Erscheinung der Szene, aus der Perspektive von von pp, wenn nur die i, wenn nur die itete Basisfunktion Basisfunktion yyii zur zur Beleuchtung eingesetzt wird!Beleuchtung eingesetzt wird!

- Die gesamte Beleuchtung ergibt sich aus der Die gesamte Beleuchtung ergibt sich aus der Linearkombination aller Basislichter.Linearkombination aller Basislichter. Vektor-Matrix-Multiplikation liefertVektor-Matrix-Multiplikation liefert

- := Das Licht von y:= Das Licht von yii, welches p direkt oder , welches p direkt oder indirekt beleuchtet.indirekt beleuchtet.

- Projektion vonProjektion von auf die j auf die jtete Basisfunktion von Basisfunktion von liefert liefert Eintrag Eintrag jiji von von TT::

Die TransfermatrixDie TransfermatrixPT

xferL~

)( pLixrefixrefL xrefL

jixfer

pji zLT

Page 19: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Einschub... Produkt Projektion...Einschub... Produkt Projektion...- Zentrale Frage: Was sieht Punkt p?Zentrale Frage: Was sieht Punkt p?- Anders formuliert: Mit welcher Funktion, lässt sich Anders formuliert: Mit welcher Funktion, lässt sich LLenvenv

maskieren?maskieren?- Mathematisch:Mathematisch:

- a(s): unbekannte Beleuchtungsfunktiona(s): unbekannte Beleuchtungsfunktion- b(s): bekannte Schattenfunktionb(s): bekannte Schattenfunktion- c(s): Maskierte Beleuchtungsfunktion c(s): Maskierte Beleuchtungsfunktion - Gesucht linearer Operator, der Koeffizienten von a(s) auf Gesucht linearer Operator, der Koeffizienten von a(s) auf

Koeffizienten von c(s) abbildetKoeffizienten von c(s) abbildet

jjiijji bdssysysadssysybsac )()()()())()((

jijjkjik bAbdssysysya )()()(

Page 20: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

- Wir können nun die Transfermatrix Wir können nun die Transfermatrix TT00 für die direkte Beleuchtung für die direkte Beleuchtung berechnen und erhalten:berechnen und erhalten:

- Wie geht‘s weiter? – Neuman Expansion...Wie geht‘s weiter? – Neuman Expansion...- Rekursion mit Rekursion mit TT00 als Start... als Start...- Im Wesentlichen Analog zum einfachen diffusen Fall...Im Wesentlichen Analog zum einfachen diffusen Fall...

TransfermatrizenTransfermatrizen

)()(0 jj

pj zlpL

i

pjii

jj Tlz )( lTz PT)(

...210 PPPP TTTT

Page 21: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Grober AblaufGrober Ablauf- Berechnung der Transfermatrizen offlineBerechnung der Transfermatrizen offline- Berechnung von Berechnung von LLxferxfer zur Laufzeit mit zur Laufzeit mit

TransfermatrizenTransfermatrizen- Auswertung der BRDFAuswertung der BRDF- Die Die Outgoing Radiance Outgoing Radiance ergibt sich aus der Summe ergibt sich aus der Summe

der der Transfered Incident RadianceTransfered Incident Radiance und der in p und der in p reflektierten Strahlungreflektierten Strahlung

- Berechnung der Strahlung, die Punkt p in Berechnung der Strahlung, die Punkt p in Blickrichtung verlässtBlickrichtung verlässt

Page 22: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

ZusammenfassungZusammenfassung- Globale Beleuchtungseffekte für Echtzeit-Globale Beleuchtungseffekte für Echtzeit-

AnwendungenAnwendungen- Komplette Entkopplung von Transferfunktionen Komplette Entkopplung von Transferfunktionen

und Lichtquellenund Lichtquellen- Offline BerechnungOffline Berechnung- Projektion auf BasisfunktionenProjektion auf Basisfunktionen

- Spherical HarmonicsSpherical Harmonics- Oder Haar WaveletsOder Haar Wavelets

- TransfermatrizenTransfermatrizen- Self-Transfer und Neighbourhood-TransferSelf-Transfer und Neighbourhood-Transfer- PRT und DirectXPRT und DirectX

Page 23: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

LiteraturLiteratur- Siggraph2005 Course: PRT – Theory and Practice Siggraph2005 Course: PRT – Theory and Practice

[Sloan, Kautz, Lethinen][Sloan, Kautz, Lethinen]

- Precomputed Radiance Transfer for Real-Time Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequqncy Environments Rendering in Dynamic, Low-Frequqncy Environments [Sloan, Kautz, Snyder][Sloan, Kautz, Snyder]

- Spherical Harmonic Lighting: The Gritty Details [Green]Spherical Harmonic Lighting: The Gritty Details [Green]

- DirectX SDK DokumentationDirectX SDK Dokumentation

Page 24: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

Das wars vom ersten Teil...Das wars vom ersten Teil...

Vielen Dank für die Vielen Dank für die Aufmerksamkeit...Aufmerksamkeit...

Fragen?Fragen?

Und zum Abschluss weiter zu Und zum Abschluss weiter zu DirectX und Demos...DirectX und Demos...

??????

Page 25: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

DirectX und PRTDirectX und PRT

Einfaches lokales Beleuchtungsmodell, Einfaches lokales Beleuchtungsmodell, Keine SchattenKeine Schatten

PRT liefert weiche SchattenPRT liefert weiche Schatten

Page 26: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

DirectX und PRTDirectX und PRT

Subsurface Scattering mit PRTSubsurface Scattering mit PRT

Page 27: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

DirectX APIDirectX API1.1.Offline:Offline:

- ID3DXPRTEngine:ID3DXPRTEngine: Berechnet Transfer- Vektoren und Berechnet Transfer- Vektoren und MatrizenMatrizen

2.2.Source Radiance:Source Radiance:- D3DXSHEvalDirectionalLightD3DXSHEvalDirectionalLight- D3DXSHEvalSphericalLightD3DXSHEvalSphericalLight- D3DXSHEvalConeLightD3DXSHEvalConeLight- D3DXSHEvalHemisphereLightD3DXSHEvalHemisphereLight

3.3.Exit Radiance:Exit Radiance:- Berechnung auf Berechnung auf Vertex-/PixelshaderVertex-/Pixelshader

Page 28: Hauptseminar – Computer Graphics Stephen Lauschke computer graphics & visualization Pre-Computed Radiance Transfer – PRT in Anlehnung an SigGraph 2005

Hauptseminar – Computer GraphicsHauptseminar – Computer GraphicsStephen LauschkeStephen Lauschke computer graphics & computer graphics &

visualizationvisualization

DirectX SDK Live Demo...DirectX SDK Live Demo...

And Action... And Action...