Úkolem je implementovat obecnou hierarchickou radiační metodu. Hlavní schéma výpočtu by mělo být implementováno v modulu s interface GlobalIllumination (viz třída Radiosity). Tento modul by měl obsahovat všechny datové struktury (les dělení scény), v případě potřeby lze nějakou dobře oddělitelnou funkčnost osamostatnit do další třídy..
Konfigurační faktory: pro výpočet kinfiguračních faktorů použijte existující
Monte-Carlo algoritmy z modulu MonteCarloFF.
Tento modul a jeho napojení na databázi scény a urychlovací schema (UniformGrid a BrepSolidDirectory)
ponechte v původním tvaru ze zapojení sRadiosityRelax.xml.
Pozn: v hierarchické radiositě se budou používat výpočty jednotlivých form-faktorů
formFactor( from, to ).
3D scéna je uložena v Brep databázi, na jednotlivé plošky se odkazuje zásadně přes jejich indexy (handles). Bude třeba vygenerovat prvotní plošky pomocí hodně hrubého dělení (viz CornellBox a jeho parametry). Další dělení v průběhu výpočtu je vhodné dělat metodou "tri-quadtree" (jeden trojúhelník se dělí na čtyři menší tak, že se rozpůlí všechny jeho strany). Nově vzniklé trojúhelníky přidejte jako běžné stěny do databáze Brep.
TERMÍN: do 9. 1. 2011
TRIVIÁLNÍ MODUL: cz.cuni.jagrlib.piece.Radiosity (jen přibližně, hierarchický algoritmus musí mít vlastní datové struktury a úplně jiné schema výpočtu).
INTERFACE: interface GlobalIllumination.
VZOROVÉ ZAPOJENÍ: sRadiosityRelax.xml (úplně odstranit moduly RadiosityEquations a SLE-relaxation, značně přeprogramovat Radiosity)
JMÉNO MODULU: XXXFirstnameSurname.java (XXX nahraďte rozumným prefixem podle funkce modulu, nezapomeňte je umístit do package testing)
Copyright (C) 2009-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