úloha r5: Path-tracing

Úkolem je implementovat některou variantu zobrazovacího algoritmu Path-tracing (náhodné procházky od kamery). Algoritmus by měl být zaměnitelný za modul RayTracing, tj. musí implementovat interface ImageFunction za podmínky, že jednotlivé primární paprsky (vzorky v daném pixelu) bude generovat externí sampler, např. JitteringSynthesizer.

Jako schéma výpočtu je potřeba zvolit některou sestavu umožňující mnohonásobné převzorkování pixelu (super-sampling), např. sRayTracingJitter.xml.

3D scéna: měla by obsahovat tělesa/materiály, na kterých bude poznat korektní výpočet příslušných světelných efektů - měkkého odrazu, měkkých stínů, nepřímého osvětlení, apod. Pro začátek je možné použít soubory data/phongTest.jgl nebo data/sceneAreaDof.jgl.

Použité metody: potenciálně nekonečná náhodná procházka zakončená ruskou ruletou, slepé sbírání světla nebo NEE (Next Event Estimation - k tomu byste si museli upravit třídy reprezentující světelné zdroje). Vzorkování slepé nebo řízené konkrétní BRDF funkcí (subkritická pravděpodobnost), můžete vyzkoušet "rejection sampling" pro generování vzorků podle libovolného rozdělení..

Porovnání výsledků: pokud to bude jen trochu možné, spočítejte vaši testovací scénu i klasickým (distribuovaným) ray-tracingem - sestava sRayTracingBest.xml. Porovnání výsledných obrázků i časů výpočtu mne zajímá..

Výsledky: je třeba poslat všechny zdrojové soubory, které vzniknou nebo které upravíte. Dále zapojení, která se vám osvědčila, včetně datových souborů (popis scény). Protože budou pravděpodobně výpočty časově náročnější, ocením i několik již hotových obrázků..

TERMÍN: do 9. 1. 2011

TRIVIÁLNÍ MODUL: class cz.cuni.jagrlib.piece.RayTracing

INTERFACE: ImageFunction

ZAPOJENÍ: sRayTracingJitter.xml, sRayTracingBest.xml, ...

3D SCÉNY: data/phongTest.jgl, data/sceneAreaDof.jgl, ale doporučuji udělat si i jiné, průkaznější..


[Cvičení NPGR010]  [Projekt JaGrLib]  [Přednášky a semináře]  [Odkazy na demonstrace]

Valid XHTML 1.1 Copyright (C) 2008-2010 J.Pelikán, last change: $Date: 2010-10-18 13:46:04 +0200 (Mon, 18 Oct 2010) $
Send comments/requests to pepca.at.cgg.mff.cuni.cz