vrijdag 24 oktober 2008

Waarom adaptieve raytracing?

Klassieke raytracing, zoals het typisch in een cursus Computer Graphics wordt aangeleerd:


Gebruiker Hendrik van Wikipedia.

Een straal vertrekt van de Camera en gaat door een pixel van het beeld (Image) tot het op een object terecht komt. Vanaf dat punt worden dan één of meerdere schaduw stralen (shadow ray) geschoten naar de lichtbron(nen).


Het probleem met dergelijke techniek is dat we veel stralen per pixel moeten gaan schieten om ruis en aliasing problemen te verwijderen.


De beeldjes zijn gegenereerd met pbrt:
Beeldje 1: 1 straal per pixel: 7,8 Seconden, 131.000 stralen.
Beeldje 2: 4 stralen per pixel: 32 Seconden, 532.000 stralen.
Referentie: 128 stralen per pixel: 1003 Seconden, 17.000.000 stralen



We willen het aantal stralen zo laag mogelijk houden. Op positie 1 zien dat we al een goede benadering hebben voor de eigenlijke kleur. Hier meer stralen naar schieten heeft niet veel zin omdat extra stralen weinig bijdragen tot een verbetering van het kleur op die pixel. Op positie 2 daarentegen is duidelijk nog heel veel ruis te zien. Adaptief bemonsteren bestaat er nu in posities zoals 2 te detecteren en daar meer samples te nemen.

zaterdag 11 oktober 2008

Literatuurstudie

De voorbije twee weken heb ik een aantal papers gelezen en een groot stuk van het pbrt-handboek. Een lijst met papers die ik gelezen heb met daarbij een korte beschrijving is hier te vinden.

Ik heb ook definitief beslist om mijn thesis in C++ te programmeren en om pbrt als basis te gebruiken.

Ik ga mij deze week nog verder verdiepen in het samplen in het frequentie domein. Ik moet ook eens uitzoeken of het wel mogelijk is om een module te schrijven daarvoor in pbrt.