Optimized Visibility Functions for Revectorization-Based Shadow Mapping

11/21/2017
by   M. C. F. Macedo, et al.
0

High-quality shadow anti-aliasing is a challenging problem in shadow mapping. Revectorization-based shadow mapping (RBSM) minimizes shadow aliasing by revectorizing the jagged shadow edges generated with shadow mapping, keeping low memory footprint and real-time performance for the shadow computation. However, the current implementation of RBSM is not so well optimized because its visibility functions are composed of a set of 43 cases, each one of them handling a specific revectorization scenario and being implemented as a specific branch in the shader. Here, we take advantage of the shadow shape patterns to reformulate the RBSM visibility functions, simplifying the implementation of the technique and further providing an optimized version of the RBSM. Our results indicate that our implementation runs faster than the original implementation of RBSM, while keeping its same visual quality and memory consumption. Furthermore, we show GLSL source codes to ease the implementation of our technique, provide a comparison between the optimized RBSM and related work, and discuss the limitations of the shadow revectorization.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset