Extended Shadow Maps Tom Bujk tomas bujnakabyssstudios sk
Extended Shadow Maps Tomáš Bujňák tomas. bujnak@abyss-studios. sk
Importance of dynamic shadows on dynamic objects • Play a vital role in our perception • Realism for 3 D simulations and computer games • Dynamic objects vs. precomputed lighting
Importance of dynamic shadows on dynamic objects • Play a vital role in our perception • Realism for 3 D simulations and computer games • Dynamic objects vs. precomputed lighting
Shadows on PC-market graphics hardware • shadow volumes - requires high fill rates - silhouette generation + robust • shadow maps - not a standard on all hardware - aliasing problems + speed
Shadow map aliasing • created and accessed by point sampling • perspective aliasing: when user zooms into the shadow boundary • projection aliasing: when light rays are almost parallel to a surface • . . . • solution: increase shadow map resolution and bit depth for pixel depth representation
Extended Shadow Maps • Encodes additional information to shadow map • Shadow reconstruction with 4 instructions PS 1. 4 - Silhouette maps are using 46 instructions PS 2. 0. . .
Inspiration • Reconstruction of isosurfaces from volumetric data • We are working in 2 D: reconstruction of shadow boundary from shadow map • simplier, but must be programmed with a limited instruction set (GPU).
Inspiration • Reconstruction of isosurfaces from volumetric data • We are working in 2 D: reconstruction of shadow boundary from shadow map • simplier, but must be programmed with a limited instruction set (GPU). • . . . computer games
Principle • Encode shadows as an implicit function – f(u, v) <= 0 : shadow – f(u, v) > 0 : lit • augment signed distance field of f with pixel depth. – requires silhouette (+1 rendering pass) • Reconstruction – “reconstruction mode” according to pixel depth – combine f(u, v) and "reconstruction mode" for dependent texture lookup – result is shadow intensity
Problems • Edge overlapping – move artifacts towards the light • higher sampling rate, lower error • Sampling problems – use erosion operation: additional pass – expand shadows 0. 707 shadow map texels • Depth quantization – not solved, higher color depths are not available for PS 1. 4 • Scenes can be arranged so, that artifacts are not visible
Implementation • Implemented in a 3 D game engine • Higher frame rates than with shadow volumes • Supports shadows casted by aphla-keyed textures • Shadow Level of detail: – ESM was used when player is near the light, else normal shadow mapping was used to save GPU cycles.
- Slides: 11