woensdag 19 november 2008

Debug tijd : Directe belichting

Bij het vergelijken van de resultaten van ons ERPT algoritme met die van een path tracer, zijn we tot de conclusie gekomen dat de belichting fout was. Om de fout in onze implementatie te vinden hebben we op een systematische manier de mutaties gedebugd. We zijn hiermee begonnen door enkel directe belichting in overweging te nemen. Dit is een van de eerdere resultaten :


Afbeelding gerenderd met foutieve ERPT implementatie.

Hier is te zien dat de belichting geconcentreerd is in het midden van de muren. De sterkte en grootte van de lichtvlekken zijn afhankelijk van de perturbatie grootte. Om dit heel duidelijk te maken hebben we een zeer grote perturbatie gekozen. De volgende afbeelding is een reference image, gerenderd met een standaard path tracer. Dit is hoe de directe belichting er uit zou moeten zien :


Afbeelding gerenderd met een path tracer

Onze conclusie was dat er iets fout was met de waarschijnlijkheid waarmee mutaties aanvaard worden. Mutaties naar het centrum van de muren toe werden meer aanvaard dan zou mogen. Het voorgaande ging enkel over caustic perturbations, maar lens perturbations vertoonden ook gelijkaardige problemen.

Bij het nader bekijken van de formules voor het berekenen van de acceptance probabilities in de relevante papers, bleek dat deze formules niet consistent zijn. Het is ook moeilijk om de oorsprong van deze formules te achterhalen. In een poging om meer duidelijkheid te scheppen hebben we de schrijvers van de ERPT paper gecontacteerd. Op basis van hun advies en onze eigen intuïtie zijn we er in geslaagd om juiste resultaten te verkrijgen in het geval van directe belichting. Deze resultaten zijn nagenoeg gelijk aan dat van de path tracer (op wat ruis na).

Geen opmerkingen: