Global IlluminationOverviewDirect Illumination (last lecture)ExampleOverviewOverviewShadowsShadowsShadowsShadowsShadowsShadowsShadowsShadowsDirect IlluminationOverviewInter-Object ReflectionInter-Object ReflectionRendering EquationRendering EquationRendering EquationOverviewRecursive Ray TracingRecursive Ray TracingRecursive Ray TracingSpecular ReflectionRefractionRefractionRefraction DirectionRefraction DirectionRecursive Ray TracingRecursive Ray TracingRecursive Ray TracingRecursive Ray TracingRecursive Ray TracingOverviewBeyond Recursive Ray TracingDistributed Ray TracingRay Tracing vs. Distribution Ray TracingMonte Carlo Path TracingRay Tracing vs. Path TracingOverviewRadiosityRendering Equation (1)Rendering Equation (2)Radiosity EquationRadiosity ApproximationRadiosity ApproximationSystem of EquationsRadiositySummaryGlobal IlluminationCOS 426Overview• Direct Illumination Emission at light sources Scattering at surfaces• Global illumination Shadows Inter-object reflections Rendering equation Recursive ray tracing More advanced ray tracing RadiosityGreg WardKajiya 1986Direct Illumination (last lecture)• For each ray traced from camera Sum radiance reflected from each light∑•+•++=LLLnSDAAEISRVKLNKIKII ))()((CameraLightSurfacesExampleRed’s Dream (Pixar Animation Studios)Overview• Direct Illumination Emission at light sources Scattering at surfaces Global illumination Shadows Inter-object reflections Rendering equation Recursive ray tracing More advanced ray tracing RadiosityGreg WardOverview• Direct Illumination Emission at light sources Scattering at surfaces• Global illumination Shadows Inter-object reflections Rendering equation Recursive ray tracing More advanced ray tracing RadiosityGreg WardShadows• Hard shadows from point light sourcesCameraLightSurfacesShadows• Hard shadows from point light sourcesShadows• Hard shadows from point light sourcesCameraShadows• Hard shadows from point light sources Cast ray towards light; SL=0 if blocked, SL=1 otherwiseCamera∑•+•++=LLLnSDAAEISRVKLNKIKII ))()((ShadowTermShadows• Soft shadows from area light sources Umbra = fully shadowed Penumbra = partially shadowedpenumbraumbrasourceFredo DurandShadows• Soft shadows from area light sources Average illumination for M sample rays per light∑ ∑•+•+=AreaLights samplesMLLnSDISRVKLNKMI ))()((1...ShadowTermCameraShadows• Soft shadows from circular area light sources Average illumination for M sample rays per light∑ ∑•+•+=AreaLights samplesMLLnSDISRVKLNKMI ))()((1...ShadowTermCamera20qlc)(IdadaaLDIL⋅+⋅+•=DLShadows• Soft shadows from circular area light sources Average illumination for M sample rays per light Generate M random sample points on area light(e.g., with rejection sampling) Compute illuminationfor every sample Average∑ ∑•+•+=AreaLights samplesMLLnSDISRVKLNKMI ))()((1...Direct Illumination• Illumination from polygonal area light sources Average illumination for M sample rays per lightn'x'ωCameraLight1ωLight∑ ∑•+•+=AreaLights samplesMLLnSDISRVKLNKMI ))()((1...Overview• Direct Illumination Emission at light sources Scattering at surfaces• Global illumination Shadows Inter-object reflections Rendering equation Recursive ray tracing More advanced ray tracing RadiosityGreg WardInter-Object ReflectionInter-Object Reflection• Radiance leaving point x on surface is sum of reflected irradiance arriving from other surfacesnxΩCameraRendering Equation• Compute radiance in outgoing direction by integrating reflections over all incoming directions∫Ω•+=ωωωωωωωdxLnxfxLxLireo),'())(',,'()','()','(n'x1ω'ωCameraΩSurfaceLightSurface2ωRendering Equation• Compute radiance in outgoing direction by integrating reflections over all incoming directions∫Ω•+=ωωωωωωωdxLnxfxLxLireo),'())(',,'()','()','(n'x1ω'ωCameraΩSurfaceLightSurface2ωωdRendering Equation• Compute radiance in outgoing direction by integrating reflections over all incoming directions∫Ω•+=ωωωωωωωdxLnxfxLxLireo),'())(',,'()','()','(n'xΩωωd'ωOverview• Direct Illumination Emission at light sources Scattering at surfaces• Global illumination Shadows Inter-object reflections Rendering equation Recursive ray tracing More advanced ray tracing RadiosityGreg WardRecursive Ray Tracing• Assume only significant irradiance is in directions of light sources, specular reflection, and refractionn'x'ωDirection of Ray Tracedfrom CameraΩLightSωSpecularReflectionRωRefractionAreaLight∫Ω•+=ωωωωωωωdxLnxfxLxLireo),'())(',,'()','()','(Recursive Ray Tracing• Compute radiance in outgoing direction by summing reflections from directions of lights specular reflections, and refractionsn'x'ωDirection of Ray Tracedfrom CameraΩLightSωSpecularReflectionRωRefractionTTRSLLLnSDAAEIKIKISRVKLNKIKII ++•+•++=∑))()((AreaLightTTRSLLLnSDAAEIKIKISRVKLNKIKII ++•+•++=∑))()((Recursive Ray Tracing• Same as ray casting, but trace secondary raysfor specular (mirror) reflection and refractionSpecular Reflection• Trace secondary ray in direction of mirror reflection Evaluate radiance along secondary ray and include it into illumination modelTTRSLLLnSDAAEIKIKISRVKLNKIKII ++•+•++=∑))()((Radiance for mirror reflection rayIRRefraction• Trace secondary ray in direction of refraction Evaluate radiance along secondary ray and include it into illumination modelTTLLLnSDAAEIKISRVKLNKIKII +•+•++=∑))()((Radiance for Refraction RayIThttp://farm2.static.flickr.com/1109/1057760138_91cabeb391.jpgRefraction• Transparency coefficient is fraction transmitted KT= 1 for translucent object, KT= 0 for opaque 0 < KT< 1 for object that is semi-translucentTTLLLnSDAAEIKISRVKLNKIKII +•+•++=∑))()((KTTransparencyCoefficientRefraction Direction• For thin surfaces, can ignore change in direction Assume light travels straight through surfaceNLΘiTΘrηrηiΘiTLT −≅Refraction DirectionNLΘiTΘrηrηiLNTriririηηηη−Θ−Θ= )coscos(For solid objects, apply Snell’s law:iirrΘ=Θ sinsinηηRecursive Ray Tracing• ComputeRadiance is called recursivelyR3Rgb
View Full Document