18. BVH bouwheuristieken: Surface Area Heuristic
• 𝒞SAH L, R = 𝑐 + pL 𝒞L + pR 𝒞R
• 𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
18
19. BVH bouwheuristieken: Surface Area Heuristic
19
splitsingsvlakken
𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
20. BVH bouwheuristieken: Surface Area Heuristic
20
splitsingsvlakken
𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
21. BVH bouwheuristieken: Surface Area Heuristic
21
splitsingsvlakken
𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
22. BVH bouwheuristieken: Surface Area Heuristic
22
splitsingsvlakken
𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
23. BVH bouwheuristieken: Surface Area Heuristic
23
splitsingsvlakken
𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
24. BVH bouwheuristieken: Surface Area Heuristic
24
splitsingsvlakken
𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
25. BVH bouwheuristieken: Surface Area Heuristic
25
splitsingsvlakken
𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
26. BVH bouwheuristieken: Surface Area Heuristic
26
splitsingsvlakken
𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
27. BVH bouwheuristieken: Surface Area Heuristic
27
splitsingsvlakken
𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
28. BVH bouwheuristieken: Surface Area Heuristic
28
splitsingsvlakken
𝒞SAH L, R = 𝑐 +
SA AABBL
SA AABBP
NL +
SA AABBR
SA AABBP
NR
29. BVH bouwheuristieken
• Object Median Split
• Spatial Median Split
• Surface Area Heuristic
• ℬ equidistante splitsingsvlakken (binned)
• “Alle” splitsingsvlakken (sweeping-plane) (optioneel)
• Splitsingsas:
• … ⟶ 𝑥 ⟶ 𝑦 ⟶ 𝑧 ⟶ 𝑥 ⟶ 𝑦 ⟶ 𝑧 ⟶ …
• volgens as grootste bereik van centroids
• allemaal (enkel mogelijk voor SAH)
29
30. BVH bouwheuristieken
• Stopcriterium? Afleidbaar uit SAH kostfunctie?
• Wat is de average case Θ-complexiteit voor het opstellen v/d BVH?
• Wat is de average case Θ-complexiteit voor het doorlopen v/d BVH?
30
32. Object Instancing
• Vergelijk Object Instancing met Triangle Soup
• Triangle Soup:
• Transformeer alle driehoeken naar wereldruimte
• Construeer één acceleratiedatastructuur over alle driehoeken van alle instances
32
33. Scènegenerator
• Genereer bepaalde types scènes automatisch om
extrema (best/worst case) te illustreren bij het
bouwen en doorlopen van de BVH voor de
verschillende bouwheuristieken.
• Enkele eenvoudige aanzetten ter inspiratie:
• Een hoop bollen uniform in de eenheidskubus?
• Een hoop theepotten (Object Instancing?) verspreid
volgens een bepaalde kansverdeling?
• …
33
43. Globale Belichting – Hybride Bemonstering
Oplossing: hybride aanpak
Hoekbemonstering om lichtpad uit te breiden met een nieuwe knoop
+
Directe belichting expliciet bemonsteren voor elke knoop op het lichtpad
• i.e. expliciet een schaduwstraal sturen naar elk van de lichtbronnen (= Next Event Estimation)
43
45. Globale Belichting – Hybride Bemonstering
Oplossing: hybride aanpak
Hoekbemonstering om lichtpad uit te breiden met een nieuwe knoop
+
Directe belichting expliciet bemonsteren voor elke knoop op het lichtpad
• i.e. expliciet een schaduwstraal sturen naar elk van de lichtbronnen (= Next Event Estimation)
Probleem: sommige paden worden 2x in rekening gebracht
• via hoekbemonstering en via Next Event Estimation
Oplossing:
Indien je via hoekbemonstering rechtstreeks een lichtbron raakt, negeer de bijdrage van deze
lichtbron 𝐿 𝑒 𝑝, 𝜔 𝑜
• i.e. return een nulradiantie
45
50. Globale Belichting
Voorzie ook functionaliteit om enkel één bepaalde paddiepte weer te geven:
• Enkel het directe licht;
• Enkel het licht na exact 1 indirecte oppervlakte-interactie;
• Enkel het licht na exact 2 indirecte oppervlakte-interacties;
• Etc.
Wat leer je hieruit?
50
51. Globale Belichting – Recursie
Maximale recursiediepte
• i.e. return een nulradiantie indien lichtpaden geen lichtbron bereikt hebben
Branching factor
• Om inkomende radiantie te bepalen in een shading point, kan je kiezen om 1 of meerdere
stralen te gebruiken.
• Onderzoek het effect van verschillende branching factors op de convergentie.
51
53. Globale Belichting – Recursie
Maximale recursiediepte
• i.e. return een nulradiantie indien lichtpaden geen lichtbron bereikt hebben
Branching factor
• Om inkomende radiantie te bepalen in een shading point, kan je kiezen om 1 of meerdere
stralen (= branching factor) te gebruiken.
• Onderzoek het effect van verschillende branching factors op de convergentie.
Russische Roulette (optioneel)
• voor het bekomen van niet-vertekend resultaten
• Wat zou een goede keuze zijn van stop-kans? Waarvan afhankelijk?
53
55. Globale Belichting – Caustics
Reflectieve materialen (en hun reflectieve caustics)
moet/kan je nu nog de hemisfeer bemonsteren via de hoekbemonstering?
55
56. Globale Belichting – Caustics
Refractieve materialen (en hun refractieve caustics) (optioneel)
moet/kan je nu nog de hemisfeer bemonsteren via de hoekbemonstering?
56
57. Globale Belichting
Hoe zit het met het convergentiegedrag van de twee algoritmen?
1. Brute force path tracer (i.e. hoekbemonstering)
2. Hybride path tracer (i.e. hoekbemonstering + Next Event Estimation)
Heeft de grootte van een oppervlaktelichtbron impact op het convergentiegedrag
van de twee algoritmen?
Bespreek dit alles bv. aan de hand van de Root Mean Squared Error.
57
58. Intermezzo: Root Mean Squared Error
Een mogelijke ‘convergentie-maat’ is de Root Mean Squared Error (RMSE), een
schatter voor de ‘afwijking’ over alle pixels:
RMSE =
σ 𝑗
𝑃
𝐿𝑗 − 𝐿𝑗
REF 2
𝑃
t.o.v. ‘goed-geconvergeerde’ referentieafbeelding met pixelwaarden 𝐿𝑗
REF
Hoe gedraagt de RMSE zich in termen van het aantal camerastralen? (Wat weet je
uit de theorie van Monte Carlo schatters?) Interessant voor je verslag?
Extra doordenkers (optioneel): bekijk eens de distributie van de afwijkingen 𝐿𝑗 −
𝐿𝑗
REF
; wat met gammacorrectie (i.e. RMSE ervoor of erna?); wat met grote
dynamische bereiken? 58
61. Evaluatie – Alle Tracks
Grondig academisch/wetenschappelijk verslag met bespreking en verantwoording
van experimenten en hun resultaten met als doel een correcte implementatie en
inzicht weer te geven.
Bespreek enkel Deel 3.
Geen exact opgelegd aantal pagina’s of formaat. (Je verslag wordt meerdere malen
afgedrukt, dus denk wat aan het milieu en houd het enigszins compact; liever niet
>15 pagina’s.)
Examen = mondelinge bespreking van verslag
61