Non Diffuse Point Based Global Illumination Karsten Daemen
Thesis voorgedragen tot het behalen van de graad van Master of Science in de ingenieurswetenschappen: computerwetenschappen Promotor: Prof. dr. ir. Phil Dutre Assessoren: Ir. Kn. Owsmuch K. Nowsrest Begeleiders: Dr. ir. A. Lagae ir. J. Baert
Academiejaar 2012 – 2013
c Copyright KU Leuven
Zonder voorafgaande schriftelijke toestemming van zowel de promotor als de auteur is overnemen, kopiëren, gebruiken of realiseren van deze uitgave of gedeelten ervan verboden. Voor aanvragen tot of informatie i.v.m. het overnemen en/of gebruik en/of realisatie van gedeelten uit deze publicatie, wend u tot het Departement Computerwetenschappen, Celestijnenlaan 200A bus 2402, B-3001 Heverlee, +32-16327700 of via e-mail
[email protected]. Voorafgaande schriftelijke toestemming van de promotor is eveneens vereist voor het aanwenden van de in deze masterproef beschreven (originele) methoden, producten, schakelingen en programma’s voor industrieel of commercieel nut en voor de inzending van deze publicatie ter deelname aan wetenschappelijke prijzen of wedstrijden.
Voorwoord TODO: Bedank Promotor Phil Dutre voor de kans en vertrouwen. Bedank begeleiders Jeroen Baert en Ares Lagae voor goede raad. Bedank ouders voor constant aansporen tot schrijven. Bedank Peter Moxon van Pixar voor de Renderman software. Bedank jury om de tekst te lezen. Karsten Daemen
i
Inhoudsopgave Voorwoord
i
Samenvatting
iii
Lijst van figuren en tabellen
iv
List of Abbreviations and Symbols
v
1 Introductie 1.1 Snelle Global Illumination . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Bijdrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Overzicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 1 1 1
2 PBGI 2.1 Algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Approximated PBGI . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Rendering vergelijking . . . . . . . . . . . . . . . . . . . . . . . . . .
3 3 4 4
3 Non Diffuse PBGI 3.1 Het idee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Rendering vergelijking . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Previous work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 7 7 7
4 Implementatie 4.1 Non Diffuse Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 9 9
5 Conclusion
11
A Figuren
15
ii
Samenvatting The abstract environment contains a more extensive overview of the work. But it should be limited to one page.
iii
Lijst van figuren en tabellen Lijst van figuren 2.1 2.2 2.3 2.4
Artifacten veroorzaakt door te kleine cubemap resolutie. Projectie van puntenwolk op een hemisfeer. . . . . . . . Clustering van de puntwolk. . . . . . . . . . . . . . . . . Clusters benaderd door sferische harmonische. . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
3 4 4 5
A.1 A.2 A.3 A.4
Weergave cubemap van verscheidene niet diffuse surfels. . . Artifacten veroorzaakt door te kleine cubemap resolutie. . . Artifacten veroorzaakt door te kleine microbuffer resolutie. Decompositie totale belichting . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
15 16 17 18
Lijst van tabellen
iv
. . . .
List of Abbreviations and Symbols Abbreviations GI PBGI BRDF PRT
Global Illumination Point Based Global Illumination Bidirection Reflection Function Precomputed Radiance Transfer
Symbols L Le si so V (p, q)
Radiantie Zelf uitgezonden radiantie Richting van een binnenkomende straal Richting van een uitgaande straal Visibiliteits functie, kunnen punten p en q elkaar zien.
v
Hoofdstuk 1
Introductie “Better is the enemy of good.” Voltaire
1.1
Snelle Global Illumination
TODO: Inleiding over waarom het belangrijk is om snelle Globale Illumination te hebben.
1.2
Bijdrage
TODO: Welke problemen lost mijn thesis op?
1.3
Overzicht
Deze thesis is georganiseerd als volgt: Hoofdstuk 2 illustreert de gedetailleerde werking het PBGI algoritme en de relatie van dit algoritme met de rendering vergelijking. Hoofdstuk 3 beschrijft de voorgestelde extensie aan het PBGI algoritme zodat er ook wordt rekening gehouden met niet diffuse oppervlakken. Hoofdstuk 4 beschrijft de resultaten die we bekomen zijn met de implementatie van het Non Diffuse PBGI algoritme. Hoofdstuk 5 concludeert deze thesis en verwijst naar eventuele mogelijkheden voor verder onderzoek.
1
Hoofdstuk 2
PBGI “If I have seen further it is by standing on the shoulders of giants.” Isaac Newton
Zoals de naam het zegt is Point Based Global Illumination (PBGI) een algoritme om de Global Illumination in een scene te berekenen. (Zie verder inleiding "Out of Core").
2.1
Algoritme
Two pass algorithm
2.1.1
First Pass
Figuur 2.1: Artifacten veroorzaakt door te kleine cubemap resolutie.
3
2. PBGI
Figuur 2.2: Projectie van puntenwolk op een hemisfeer.
2.1.2
2.2
Second Pass
Approximated PBGI
Figuur 2.3: Clustering van de puntwolk. TODO: Uitleggen in woorden en figuren wat we proberen te doen met Non Diffuse PBGI. Dit komt neer op het uitschrijven van mijn eerdere presentatie, afbeeldingen kunnen vandaar gebruikt worden.
2.3
Rendering vergelijking
TODO: Vertalen naar het nederlands van een stuk uit mijn eerdere tekst over de rendering vergelijking.
4
2.3. Rendering vergelijking
Figuur 2.4: Clusters benaderd door sferische harmonische.
5
Hoofdstuk 3
Non Diffuse PBGI “It is not an idea until you’ve written it down.” Ivan Sutherland
3.1
Het idee
TODO: Uitleggen in woorden en figuren wat we proberen te doen met Non Diffuse PBGI. Dit komt neer op het uitschrijven van mijn eerdere presentatie, afbeeldingen kunnen vandaar gebruikt worden.
3.2
Rendering vergelijking
TODO: Vertalen naar het nederlands van een stuk uit mijn eerdere tekst over de rendering vergelijking.
3.3
Previous work
7
Hoofdstuk 4
Implementatie “C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow away your whole leg!” Bjarne Stroustrup TODO: Uitleg Aqsis, Renderman, etc ...
4.1 4.1.1
Non Diffuse Points Cubemaps
Invloed op niet diffuse belichting Zie A.2
4.1.2
4.2
Spherish Harmonische
Clustering
9
Hoofdstuk 5
Conclusion TODO
11
Bijlagen
13
Bijlage A
Figuren
Figuur A.1: Weergave cubemap van verscheidene niet diffuse surfels.
15
A. Figuren
(a) 15 × 15
(b) 20 × 20
(c) 25 × 25
(d) 30 × 30
Figuur A.2: Artifacten veroorzaakt door te kleine cubemap resolutie.
16
(a) 10 × 10
(b) 20 × 20
(c) 40 × 40
(d) 80 × 80
Figuur A.3: Artifacten veroorzaakt door te kleine microbuffer resolutie.
17
A. Figuren
(a) directe belichting
(b) indirecte diffuse belichting
(c) indirecte niet diffuse belichting
(d) Totale belichting
Figuur A.4: Decompositie totale belichting
18
KU Leuven Faculteit Ingenieurswetenschappen
2012 – 2013
Fiche masterproef Student: Karsten Daemen Titel: Non Diffuse Point Based Global Illumination UDC : 621.3 Korte inhoud: TODO
Thesis voorgedragen tot het behalen van de graad van Master of Science in de ingenieurswetenschappen: computerwetenschappen Promotor: Prof. dr. ir. Phil Dutre Assessoren: Ir. Kn. Owsmuch K. Nowsrest Begeleiders: Dr. ir. A. Lagae ir. J. Baert