VIEWS: 27 PAGES: 22 POSTED ON: 2/20/2010
Iteration Solution of the Global Illumination Problem László Szirmay-Kalos Solution by iteration Expansion uses independent samples – no resuse of visibility and illumination information Iteration may use the complete previous information – Ln= Le+ t Ln-1 – pixel = M Ln Storage of the temporary radiance: finite elements FEM: L(p) Lj bj (p) p=(x,w) Lj(n) bj (p) = Lje bj (p) + t L (n-1) b (p) j j Projecting to an adjoint base: Li(n) = Lie + Lj(n-1) < t b , b ’> j i FEM iteration Matrix form: L(n) = Le + R L(n-1) Jacobi iteration – Complexity: O(steps · 1 step) = O(c · N 2) Other iteration methods: – Gauss-Seidel iteration: O(c · N 2) – Southwell iteration: O(N · N) – Successive overrelaxation: O(c · N 2) Problems of classical iteration storage complexity of the finite-element representation – 4 variate radiance: very many basis functions error accumulation – L/(1-q), qcontraction The error is due to the drastic simplifications of the form-factor computation Stochastic iteration Use instantiations of random operator t* – Ln= Le+ t *n Ln-1 which behaves as the real operator in average – E[ t *n L]t L Example: x = 0.1 x + 1.8 Solution by stochastic iteration Random transport operator: – xn = T n xn + 1.8, T is r.v. in [ 0, 0.2] n: 1 2 3 4 5 Tn sequence: 0 0.1 0.2 0.15 0.05 xn sequence: 0 1.8 1.91 2.18 2.13 1.9 Not convergent! Averaging: 1.8 1.85 1.9 2.04 1.96 Iteration with a single ray Transfer the whole power from x into w selected with probability:L(x,w) cos w 1 3 x 1 Le(x,w) x w 2 x 3 2 w Making it convergent Ln= Le+ t *n Ln-1 n =M Ln is not convergent pixel=(M L1+ M L2+...+ M Lm)/m Stochastic iteration with FEM Diffuse case Projected transport operator: – directional integral of the transport operator – surface integral of the projection Alternatives: – both explicitely: classical iteration, stochastic radiosity – surface integral explicitely: transillumination radiosity – both implicitely: stochastic ray-radiosity Stochastic radiosity Selects a single (a few) patch with the probability of its relative power and transfers all power from here P = Pe + HP Random transport operator: H* P|i = Hij Expected value: E[H*P|i ]= j Hij Pi/ = H P|i Transillumination radiosity Selects a single (a few) directions and transfers all power into these directions Projected rendering equation: L = Le + R L Transport operator: Rij =<t bj ,bi’>= fi /Ai Ai bj (h(x,-w’)) cos’ dxdw’ Random transport operator: Rij*= 4 fi /Ai Ai bj (h(x,-w’)) cos’dx Ai bj (h(x,-w’)) cos’dx w A(i,j,w’) w’ Ai Transillumination Aj plane A(i,j,w’)= projected area of path j, which is visible from path i in direction w’ Stochastic ray radiosity Selects a single (a few) rays (points+dirs) with a probability proportional to the power cos/area and transfers all power by these rays P = Pe + HP Random transport operator: if y and w are selected: H* P|i = fi bi(h(y,w)) Expected value of the random transport operator: E[H*P|i ]= j fi Aj bi(h(y,w)) cos/ dy/Aj Pj/ = j fi /Aj Aj bi(h(y,w)) cos dy Pj = H P|i Stochastic iteration for the non-diffuse case Ln= Le+ t *n Ln-1 Reduce the storage requirements of the finite-element representation Search t * which require L not everywhere Ln (pn+1) = Le (pn+1)+t *n (p n+1,p n) Ln-1 (p n) Stochastic integration Projected transport operator: – directional integral of the transport operator – directional-surface integrals of the projection Alternatives: – all integrals explicitely: classical iteration – all integrals implicitely: iteration with a single ray – directional integral of the transport operator implicitely, integral of the projection explicitely Ray-bundle based iteration pixel e L Storage requirement: 1 variable per patch Finite elements for the positional variation FEM: L(x,w) Lj (w) bj (x) Projected rendering equation: – L(w’) = Le(w’) + F(w’,w) A(w’) L(w’)dw’ Random transport operator: – Select a global direction w’ randomly: – t * L(w’) = 4 F(w’,w) A(w’) L(w’) Ray-bundle iteration Generate the first random direction w1 FOR each patch i L[i] = Le(w1) FOR m = 1 TO M Reflect incoming radiance L to the eye and add contribution/M to Image Generate random global direction wm+1 L = Le(wm+1)+ 4 F(wm,wm+1) A(wm) L(wm) ENDFOR Display Image Ray-bundle images 60k patches 60k patches 10k patches 300 iterations 600 iterations 500 iterations 30 mins 45 mins 9 mins Can we use quasi-Monte Carlo samples in iteration? 1/(M-1) t*(pi)t*(pi-1) Le t 2Le 1/(M-1) f(pi,pi-1) f(x,y) dxdy pi must be infinite-distribution sequence! Future improvements ? Problem formulation – Monte-Carlo integral – Expansion versus iteration Same accuracy with fewer samples – importance sampling – very uniform sequences, stratification Making the samples cheaper – fast visibility computations – global methods: coherence principle