GPU alapú fotontranszport nagyfelbontású heterogén közegben BME IIT Szirmay-Kalos László Magdics Milán Tóth Balázs
A probléma Monte Carlo szimuláció: – Szabad úthossz – Abszorpció? – Szórási irány source absorption voxel fetches scattering
Szabad úthossz Optikai mélység eloszlásfüggvény r s Fontosság szerinti mintavétel
A homogén eset könnyű s r
Inhomogén közeg: sugármasírozás Reject Accept Komplexitás nő a felbontással Független a denzitás variációjától Lassú alacsony denzitású nagy felbontású közeg esetén
Inhomogén közeg: Woodcock Felbontás független Komplexitás a sűrűség variációval nő Lassú erősen inhomogén közegben Elfogadási val.: (t)/ max
sűrű ritka foton Szabad úthossz Inhomogén közeg Inhomogén sűrűség Fázisfüggvény+albedo ütközés Szabad úthossznál csak az inhomogén sűrűség számít
foton Virtuális ütközés Valódi ütközés Virtuális ütközés és a szórási fázisfüggvénye Inhomogén közeg virtuális részecskékkel Valódi részecskével ütközés valószínűsége (t)/( (t)+ virtual (t))= (t)/ comb (t)
Mintavételezés virtuális részecskékkel Keress comb (t) = (t)+ virtual (t) – Felső becslés, – Analitikusan kiértékelhető: Mintavételezés comb (t) Valódi ütközés (t)/ comb (t)
Procedurális modell példa (Perlin zaj)
Felső becslés: csak korlátozott szintig megyünk Felső becslés zaj Eredeti felbontás szuper-voxel felbontás
Mintavételezés szuper-voxel eredeti voxel sugár Valós távolság Optikai mélység Szórási pont ahol:
Szórási irány (példa: Klein-Nishina) Klein-Nishina : Compton formula: r = P(E, ) Elvetéses mintavétel = P -1 (E, r) foton z x y φ ütközés E E’ Táblázat alapú mintavételezés
Szál leképzés Dózis buffer foton buffer Akkumuláció RNG mag buffer Szabad út + terminálás? Indítás vagy szórás
512 3 voxel tömb, 32 millió sugár NVIDIA GeForce 260 GPU Sugár masírozás: 9 secWoodcock: 7 secVirtuális: 1.4 sec Millió sugár per sec a szuper voxel rács felbontásának függvényében
256 3 voxel tömb
Procedurális Perlin zaj, 9 millió sugár
Skálázhatóság Millió sugár per sec
Videók effektív felbontás szuper-voxel rács 50 millió foton/képkocka 9 sec/képkocka effektív felbontás szuper-voxel rács 5 millió foton/képkocka 1 sec/képkocka
Konklúziók Kvázi SIMD párhuzamosítás új algoritmusokat igényel Szabad úthossz virtuális részecskékkel Fontosság szerinti mintavételezés textúrával Párhuzamos Monte Carlo: szálankénti véletlen szám generátor CPU-n generált független magokból Gyűjtő algoritmus amíg lehet.