Date post: | 17-Jan-2016 |
Category: |
Documents |
Upload: | tamsin-richards |
View: | 214 times |
Download: | 0 times |
Iteration Solution of the Iteration Solution of the Global Illumination ProblemGlobal Illumination Problem
László Szirmay-Kalos
Solution by iterationSolution by iteration Expansion uses independent samples
– no resuse of visibility and illumination information Iteration may use the complete previous
information
– Ln= Le+ Ln-1
– pixel = Ln
Storage of the temporary Storage of the temporary radiance: finite elementsradiance: finite elements
FEM:
Projecting to an adjoint base:
Lj(n) bj (p) = Lj
e bj (p) + Lj(n-1) bj (p)
L(p) Lj bj (p)
Li(n) = Li
e + Lj(n-1) < bj , bi’ >
p=(x,)
FEM iterationFEM iteration
Matrix form:
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)
L(n) = Le + RL(n-1)
Problems of classical iterationProblems 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 iterationStochastic iteration
Use instantiations of random operator *
– Ln= Le+ *n Ln-1
which behaves as the real operator in average
– *n L L
Example: x = 0.1 x + 1.8Example: x = 0.1 x + 1.8Solution by stochastic iterationSolution 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 rayIteration with a single rayTransfer the whole power from x into selected with probability:L(x,) cos
x
x
x
Le(x,)
1
2
3
Making it convergentMaking it convergent
Ln= Le+ *n Ln-1
n =Ln is not convergent
pixel=( L1+ L2+...+ Lm)/m
Stochastic iteration with FEMStochastic iteration with FEMDiffuse caseDiffuse 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 radiosityStochastic radiosity
P = Pe + HP Random transport operator: H* P|i = Hij Expected value:
E[H*P|i ]= j Hij Pi/ = H P|i
Selects a single (a few) patch with the probability of its relative power and transfers all power from here
Transillumination radiosityTransillumination radiositySelects a single (a few) directions and transfers all power into these directions
Projected rendering equation:L = Le + RL
Transport operator:Rij =< bj ,bi’ >= fi /Ai Aibj (h(x,-’) cos’ dxd’
Random transport operator:Rij
*= 4 fi /Ai Ai bj (h(x,-’) cos’dx
Ai Ai bbjj ((hh(x,-(x,-’’) cos) cos’dx’dx
Ai
’A(i,j,’)
Aj
Transilluminationplane
A(i,j,’)= projected area of path j, which is visible from path i in direction ’
Stochastic ray radiosityStochastic ray radiositySelects a single (a few) rays (points+dirs) with aprobability proportional to the power cos/areaand transfers all power by these rays
P = Pe + HP Random transport operator: if y and are selected: H* P|i = fi bi(h(y,)
Expected value of the random transport operator:E[H*P|i ]= j fi Aj bi(h(y,) cos/ dy/Aj Pj/ = j fi /Aj Aj bi(h(y,) cos dy Pj = H P|i
Stochastic iteration for the Stochastic iteration for the non-diffuse casenon-diffuse case
Ln= Le+ *n Ln-1 Reduce the storage requirements of the
finite-element representation Search * which require L not everywhere
Ln (pn+1) = Le (pn+1)+ *n (p n+1,p n) Ln-1 (p n)
Stochastic integrationStochastic 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 iterationRay-bundle based iteration
Le
pixel
Storage requirement: 1 variable per patch
Finite elements for the Finite elements for the positional variationpositional variation
FEM:
Projected rendering equation:– L(’) = Le(’) +F(’,) A(’) L(’)d’
Random transport operator:– Select a global direction ’ randomly:
– * L(’) = 4 F(’,) A(’) L(’)
L(x,) Lj () bj (x)
Ray-bundle iterationRay-bundle iterationGenerate the first random direction
FOR each patch i L[i] = Le(1)FOR m = 1 TO M Reflect incoming radiance L to the eye and add contribution/M to Image Generate random global direction m+1
L = Le(m+1)+ 4 F(m,m+1) A(m) L(m)ENDFORDisplay Image
Ray-bundle imagesRay-bundle images
10k patches500 iterations9 mins
60k patches600 iterations45 mins
60k patches300 iterations30 mins
Can we use quasi-Monte Can we use quasi-Monte Carlo samples in iteration?Carlo samples in iteration?
1/(M-1) *(pi)*(pi-1) Le2Le
1/(M-1) f(pi,pi-1) f(x,y) dxdy
pi must be infinite-distribution sequence!
Future improvements ?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