Radiosity CS5502 Fall 2006 (c) Chun-Fa Chang What is Radiosity • Borrowed from radiative heat transfer. • Assuming diffuse reflectance. • View independent solution. CS5502 Fall 2006 (c) Chun-Fa Chang
Rendering Equation (Review) ∫ ′ ′ ′ ′ ′ ′ ′ ′ ′ ′ = ε + ρ I ( x , x ) ( x , x ) ( x , x , x ) I ( x , x ) d x s • g() removed. • ρ () is related to BRDF. CS5502 Fall 2006 (c) Chun-Fa Chang Radiosity Equation – Single Patch ∫ = + B E R B F i i i j ij j ∑ • Discrete form: = + B E R B F i i i j ij j • Compared to Rendering Equation: ∫ ′ ′ ′ ′ ′ ′ ′ ′ ′ ′ = ε + ρ I ( x , x ) ( x , x ) ( x , x , x ) I ( x , x ) d x s CS5502 Fall 2006 (c) Chun-Fa Chang
Radiosity Equation – In Matrix Form B E R F R F R F B L ∑ 1 1 1 11 1 12 1 1 n 1 = + B E R B F B E R F R F R F B L 2 2 2 21 2 22 2 2 n 2 i i i j ij = + j M M M M L M M ! B E R F R F R F B L n n n n 1 n n 2 n nn n − − − 1 R F R F R F B E L 1 11 1 12 1 1 n 1 1 − − 1 R F R F B E L 2 22 2 2 n 2 = 2 M M L M M M − − − R F R F 1 R F B E L n n 1 n n 2 n nn n n CS5502 Fall 2006 (c) Chun-Fa Chang Form Factor Calculation θ θ 1 cos i cos j ∫ ∫ = F dA dA ij j i 2 ′ A π − x x i Ai Aj CS5502 Fall 2006 (c) Chun-Fa Chang
Form Factor Calculation • Analytical forms of form factors are possible for simple shapes only. • Form factor is reduced if a patch sees the other patch partially. • An approximation – Hemicube. • One hemicube for each patch. CS5502 Fall 2006 (c) Chun-Fa Chang Hemicube Patch j Hemicube Patch i CS5502 Fall 2006 (c) Chun-Fa Chang
Solving the Linear Equation • Direct method: Gaussian Elimination O(n 3 ) • Iterative method: Gauss-Seidel or Jacobi method O(n 2 ) CS5502 Fall 2006 (c) Chun-Fa Chang Jacobi Iterations = Ax E − ( k ) − ... − ( k ) E a x a x + ( k 1 ) = x i i 1 1 1 n n i a ii • Take a initial guess {x i 0 } , for i=1..n • Each iteration produces better {x i (k+1) } from {x i (k) } CS5502 Fall 2006 (c) Chun-Fa Chang
Gauss-Seidel Variation • New x i ’s in iteration k+1 are used whenever they are available. (k+1) uses x 1 • That is: x i (k+1) … x i-1 (k+1) and x i+1 (k) … x n (k) Iteration k+1 Iteration k CS5502 Fall 2006 (c) Chun-Fa Chang Progressive Refinement • Allowing the viewing of early incomplete solution • Start from the patch with greatest unshot radiosity. • Update receiving patches. Repeat. CS5502 Fall 2006 (c) Chun-Fa Chang
CS5502 Fall 2006 (c) Chun-Fa Chang Artifacts • Interpolation necessary to smooth out the patches. • Blocky shadow is still a problem. • Meshing resolution is important to the final quality. CS5502 Fall 2006 (c) Chun-Fa Chang
Meshing CS5502 Fall 2006 (c) Chun-Fa Chang Adaptive Meshing • Subdivide a patch if the radiosity variation is large. CS5502 Fall 2006 (c) Chun-Fa Chang
Advanced Techniques • Discontinuity Meshing. • Hierarchical Radiosity. • See Watt’s Section 11.7.2 for details. CS5502 Fall 2006 (c) Chun-Fa Chang For Further Information • Watt’s book 10.3.2 and Chapter 11. ( Pharr’s book doesn’t cover radiosity because it mainly uses Monte Carlo path tracing. ) • “Radiosity OverView Part 1” SIGGRAPH 1993 Education Slide Set, by Stephen Spencer. (Link) CS5502 Fall 2006 (c) Chun-Fa Chang
Recommend
More recommend