Shuen-Huei Guan Seminar in CMLab, NTU Paper Report: Shadow Shuen-Huei Guan Seminar in CMLab, NTU
Shadow Silhouette Maps Siggraph 2003 Pradeep Sen, Mike Cammarano, Pat Hanrahan Standford University
Overview Introduction Shadow Algorithms Shadow Silhouette Maps Shadow Volume [Crow 1977] Shadow Maps [Williams 1978] Shadow Silhouette Maps
Introduction What is Shadow? Umbra vs. Penumbra Hard Shadow, Soft Shadow
What is Shadow? An area that is only partially irradiated or illuminated due to blockage of light by an opaque object. A point is in shadow relative to a given light source if rays from that light source cannot directly reach the point. Light + Caster (Obstacle) + Scene (Receiver) + Camera (Eye).
Shadow Visually effect Algorithms Self shadow Real-time, off-line... Hard shadow Soft shadow Algorithms Shadow volume Shadow maps Self shadow Real-time, off-line...
Umbra vs. Penumbra Umbra: Penumbra: Hard Shadow Soft Shadow: Area in full shadow Penumbra: Boundry Area; Lesser shadowed Hard Shadow Umbra Soft Shadow: Umbra + Penumbra
Shadow Volume Shadow planes Volume formed from shadow planes Point inside is shadowed Point outside is lit Stencil Buffer
Shadow Volume cont.
Shadow Maps Step1 For each light, make a depth buffer from the point of view of light (Shadow Maps) Step2 For each rendered point in camera space, transform it to light coordinate. Then, compare the distance of the transformed point with the Shadow Maps to get shadowed or lit.
Shadow Maps cont. Eye Light
Shadow Maps cont. Eye Light
Aliasing in Shadow Maps
Aliasing in Shadow Maps
Aliasing in Shadow Maps cont. Insufficient resolution of shadow maps Dist (Eye, Obj) <-> Dist (Obj, Light) Casting area from light <-> casting area from eye Sampling & Quantization
After Shadow Maps Blur – 4-corners comparison Percentage Closer Filtering [Reeves 1987] Adaptive Shadow Maps [Fernando 2001] Perspective Shadow Maps [Stamminger 2002]
Adaptive Shadow Maps Observation: Only regions that contain shadow boundaries need to be high-quality. ASM hierarchically subdivides the shadow map in visually important regions. N’ = N * (Projected Area in Eye) / (Projected Area in Shadow Map)
Adaptive Shadow Maps cont. Eye Light
Perspective Shadow Maps Observation: Aliasing shadow boundaries are near the camera. Apply a transformation to get Perspective Shadow Map, providing high resolution for near objects.
Perspective Shadow Maps cont.
Perspective Shadow Maps cont. eye obstacle light aliasing shadow smooth shadow
Shadow Silhouette Maps Observation: Aliasing only occurs in the shadow boundaries. Solution: Using silhouettes of the shadow to recognize the boundaries linearly.
Recall: Shadow Maps Step1 Step2 For each light, make a depth buffer from the point of view of light (Shadow Maps) Step2 For each rendered point in camera space, transform it to light coordinate. Then, compare the distance of the transformed point with the Shadow Maps to get shadowed or lit.
Shadow Silhouette Maps Algo Step1 Shadow Maps + Silhouette Maps (both from the point of camera) Step2 for each point p If (ShadowMaps(p)) p is in shadow else if (SilhouetteMaps(p)) else p is lit
Silhouette Maps Definition: From the point of view of light, silhouette map is used to store the shadow edges (silhouette).
Silhouette Maps cont. Silhouette maps can be thought of as warping a regular grid so that grid lines align with boundaries in the geometry.
Results
Conclusion Silhouette is introduced to shadowing. Shadow maps: constant (discrete) approximation of shadow. Silhouette maps: linear approximation. Better representation of silhouettes -> better performance.
The End Thanks for listening!