230 likes | 255 Views
The Radiosity Method. Donald Fong February 10, 2004. Why?. Ray tracing has a visual signature Only models perfect specular reflection and transmission Interaction between diffusely reflecting surfaces Interiors, matte surfaces, indirect lighting. Basic idea.
E N D
The RadiosityMethod Donald Fong February 10, 2004
Why? • Ray tracing has a visual signature • Only models perfect specular reflection and transmission • Interaction between diffusely reflecting surfaces • Interiors, matte surfaces, indirect lighting
Basic idea • Divide surfaces into discrete patches • Object space algorithm • Model light transfer between patches as system of linear equations • Solve matrix equation for radiosity of each patch • Do it for R,G,B • Render patches as colored polygons
Simplifying assumptions • All surfaces are perfectly diffuse • Does not matter which way light enters or leaves a surface • Radiosity is constant over a patch
Radiosity Equation • Bi is radiosity of patch i • energy per unit area leaving a surface patch per unit time • rate energy emitted + rate energy reflected • Ei is non-zero for emitters • Riis reflectivity of the patch • Wavelength dependent • Fij is the form factor – how much light patch j contributes to patch i • Depends on geometric relationship – distance and relative orientation
Radiosity solution • Finding form factors • Hemicube method • Meshing strategies • Solving set of linear equations to get radiosity for each patch
Form factor example • Almost 100%
Hemicube method • Efficient • Fq can be precomputed • Approximate • Aliasing
Gauss-Siedel method • Iterative • Generates sequence of vectors that converges to the solution • Slow
Gathering vs. Shooting • Gathering • One iteration updates a single patch by gathering contributions from all other patches • Shooting (and sorting) • Single iteration updates all receiving patches with unshot energy • Process patches according to amount of energy they are likely to radiate
Problems • Aliasing from hemicube method • Uniform pixel size • Using bilinear interpolation to reconstruct radiosity function • Using meshing of scene independent of variations in radiosity function
Hemicube aliasing • Limited resolution of the hemicube pixels • Patches of same size map to different number of cells
Meshing artifacts • Shadow leakage • Light leakage
Meshing strategies • Discontinuity meshing • Completed before radiosity solution • Predict where discontinuities will occur • Adaptive meshing • Refine a “start” mesh as the solution progresses
Discontinuity meshing • Mesh around expected discontinuities • Sharp boundaries from point light source or object contact • Derivative discontinuities from area light sources and multi-object shadows
Hierarchical radiosity • Use different resolution depending on who is emitting and who is receiving
Summary • Diffuse only • Costly to add specular • Not efficient • Meshing • Memory intensive