woensdag 5 november 2008

Updates implementatie

In onze vorige post hebben we het resultaat van een eenvoudige pathtracer (volgens de path integraal formulering) getoond. Bij het vergelijken ervan met reference images gerenderd met een standaard path tracer hebben we echter gemerkt dat het resultaat niet volledig overeen kwam. De randen van de afbeelding bleken onder andere te licht te zijn. We vermoeden dat dit komt doordat de pdf niet altijd juist geevalueerd werd.

De laatste week hebben we onder andere een nieuwe path sampling methode geschreven. Deze werkt ongeveer als volgt :
  • Een path wordt geconstrueerd in de scene en beĆ«indigd met russian roulette.
  • Vervolgens proberen we elke node in dit path expliciet met een lichtbron te verbinden.
  • We checken dan of het resulterende path geldig is : of het licht de camera wel kan bereiken.
  • Uit alle geldige paden kiezen we er willekeurig een uit.
Deze methode heeft als voordeel dat er met grotere kans een geldig path wordt gekozen, en de pdf's zijn eenvoudig te berekenen. Nadeel is dat er iets te veel werk wordt uitgevoer voor paden die later niet gaan worden gekozen. Dit is echter geen al te groot probleem, omdat slechts een klein deel van de paden die geƫvalueerd gaan worden op deze manier worden aangemaakt.

Hier is een rendering die gebruikt maakt van deze sampling methode. Links is de afbeelding gerenderd met onze nieuwe path sampler.







Dit is een afbeelding van ongeveer dezelfde kwaliteit, gerenderd met een standaard geoptimaliseerde path tracer. (implementatie van PBRT)







Verder hebben we ook een aantal andere zaken gedaan deze week zoals het begin van de implementatie van lens perturbaties.

Geen opmerkingen: