RadiosityRon GoldmanDepartment of Computer ScienceRice UniversityReferences1. Computer Graphics: Principles and Practice -- Foley and Van Dam Chapter 16, Section 13, Pages 793-806.2. Global Illumination -- Sillion and Puech, Chapters 2–4.3. Examining Radiosity -- Siggraph Course Notes 1993<http://www.education.siggraph.org/slides/slides93/53_93.htm>4. Radiosity -- Allen Martinhttp://www.cs.wpi.edu/~matt/courses/cs563/talks/radiosity.html5. Graphics Gems I–V.ComparisonRay Tracing RadiosityPoint Light Sources Ambient LightDiffuse and Specular Reflection Diffuse ReflectionSharp Shadows Soft ShadowsWeak Model for Ambient Light Models Emitters and ReflectorsDiffuse ReflectionLambert’s Law -- I = Ipkdcosθ•I = reflected intensity•Ip = intensity of light source•kd = diffuse reflection coefficient 0 ≤ kd≤1•θ = direction between surface normal (N) and vector to light source (L)•cosθ= N • L• N = unit normal to surface• L = direction to light sourceObservations• Diffuse reflection is the same in all directions• Actually 3 equations -- one for each primary color (RGB).Diffuse ReflectionFormula I = Ipkdcos(θ) = Ipkd(L • N)Ip = intensity of point light source at infinitykd = diffuse reflection coefficientkd is a material property0 ≤ kd≤1θ = angle between surface normal (N) and direction (L) to point light source cos(θ) = L • NθNLSurfaceLambert’s LawNLight SourceBeamCrossSectionFacetθθIfacet=LightUnit Area=Beam Cross SectionFacet Area× IsourceBeam Cross SectionFacet Area= cos(θ)Ifacet= cos(θ)IsourceRadiosity• Radiosity = rate at which light energy leaves a surface = Power/Area• Radiosity = emission + reflection• Radiosity ≡ Intensity(×π) {Intensity=Radiance=Power/Area/SAngle}• Radiosity replaces: ambient intensity + diffuse intensity• RADIOSITY IS VIEW INDEPENDENT• View dependent calculations only for hidden surfaces• Historically an Energy transfer method based on Heat transferRendering Equation Energy Conservation• Total Illumination = Emitted Energy + Reflected Energy• I(x,′ x ) = E(x,′ x )+ρ( x,′ x ,′ ′ x )S∫I(′ x ,′ ′ x )d′ ′ x •I(x, ′ x ) = energy passing from ′ x to x•E(x, ′ x ) = energy emitted directly from ′ x to x•ρ(x, ′ x , ′ ′ x ) = reflection coefficientRemark• This is precisely the set up for recursive ray tracing!Radiosity Equation -- Continuous FormRadiosity = Emitted Energy + Reflected Energy B(x) = E(x)+ρd(x) B(y)S∫cosθcos ′ θ πr2V(x,y)dyB(x) = radiosity at x -- identified with intensity (or energy)(total power leaving a surface/unit area/solid angle)E(x) = energy emitted directly from a point x(uniform in all directions -- diffuse emitter)ρd(x) = diffuse reflection coefficient -- 0 ≤ρd(x) ≤ 1V(x, y) = visibility term = 0 if x not visible from y= 1 if x is visible from yθ = angle between surface normal (N) at x and (light) ray (L) to y′ θ = angle between surface normal (′ N ) at y and (light) ray (L) to xr = distance from x to y -- inverse square lawRadiosity Equation -- Continuous Form (continued)Reflected Energy• B(y)S∫cosθcos ′ θ πr2V(x,y)dy = energy reaching x from all other y• ρd(x) B(y)S∫cosθcos ′ θ πr2V(x,y)dy = energy reflected from x• Note cosθ,cos ′ θ from Lambert’s Law -- projection of flux onto surface.• The factor 1/r2 comes from inverse square law• Note mysterious factor of π in denominator. • Maps bidirectional flux to usual diffuse reflection coefficient. (See Sillion, page 14.)• Divide all reflection coefficients by π -- rescalingLambert’s LawNBeamCrossSectionFacetθθ ′ θ ′ θ ′ N Facet Ifacet=Light DepositedUnit Area=Beam Cross SectionFacet Area× Isource Isource=Light EmittedUnit Area=Beam Cross SectionFacet Area× Iemitter Beam Cross SectionFacet Area= cos(θ),cos(′ θ ) Ifacet= cos(θ)cos(′ θ )IemitterThe Radiosity EquationRadiosity Equation B(x) = E(x)+ρd(x) B(y)S∫cosθcos ′ θ πr2V(x,y)dyProblem• Difficult to solve Radiosity Equation because• Integral Equation•B(u) appears on both sides of the equation!• Must know B(u) to find B(u)!• Actually 3 equations -- one for each primary color (RGB).Solution• Assume radiosity constant over a small patch• Break the scene into small discrete patchesSolving the Radiosity EquationRadiosity = Emitted Energy + Reflected Energy B(x) = E(x)+ρd(x) B(y)S∫cosθcos ′ θ πr2V(x,y)dyB(x) = E(x)+ρd(x) Bjj=1N∑cosθcos ′ θ πr2Pj∫V(x,y)dAj (*)Get radiosity and energy of single patch as area weighted averages Bi= (1/ Ai) B(x)dAiPi∫Ei= (1/ Ai) E(x)dAiPi∫Integrate discrete equation (*) to obtain Bi= Ei+ρiBjj=1N∑(1/ Ai)cosθcos ′ θ πr2Pj∫V(x,y)dAidAjPi∫Radiosity Equation -- Discrete FormBi= Ei+ρiFijBjj =1N∑ i = 1,…,NBi = radiosity on patch Pi -- identified with intensityEi = energy emitted from patch Pi(uniform in all directions -- diffuse emitter)Fij = form factor -- depends only on geometry, color independentρi = diffuse reflection coefficient for patch Pi -- 0 ≤ρi≤ 1FijBjj =1N∑= energy reaching patch Pi from all other patchesρiFijBjj =1N∑= energy reflected from patch PiActually 3 sets of equations -- one for each primary color (RGB).Form FactorsFij = fraction of energy leaving patch Pi arriving at patch PjTheorem: Fij= (1/ Ai)cosθcos ′ θ πr2Pj∫V(x,y)dAidAjPi∫Proof:• Bij = radiosity transferred from Pi to Pj = FjiBi•Bi = energy radiated from Pi per unit area• AjBij = total energy transferred from Pi to Pj = AjFjiBiBut AjFji=cosθcos ′ θ πr2(x,y)Pj∫V(x,y)dAjdAiPi∫= AiFij.Therefore AjBij= AiBiFijso Fij=AjBijAiBi = total energy transferred from Pi to Pjthe total energy radiated from PiProperties of Form Factors1. Reciprocity AiFij= AjFji =cosθcos ′ θ πr2Pj∫V(x,y)dAidAjPi∫⎛ ⎝ ⎜ ⎞ ⎠ ⎟ 2. AdditivityFi, j∪k= Fi, j+ Fi, k3. Partition of Unity (Conservation of Energy)Fij= 1j∑Geometric Interpretation of Form Factors(Look at 2-D projections first -- project onto a circle)1. Point Form Factor Fij= (1/ Ai)cosθcos ′ θ πr2Pi∫V(x,y)dAidAjPj∫Fdi, j= (1/dAi)cosθcos ′ θ πr2Pi∫V(x,y)dAidAjPj∫=cosθcos ′ θ πr2V(x,y)Pj∫dAj2. Area Projections• Onto Unit Hemi-Sphere -- cos ′ θ r2• Onto Base of Hemi-Sphere -- cosθ3. Area of Base of Unit Hemi-Sphere = π4. Note: Equal
View Full Document