Skip to Main Content
Both exponential shadow maps and variance shadow maps are efficient shadow maps anti-aliasing algorithms based on pre-filtering, but exponential shadow maps will cause light bleeding, float overflow and penumbra discontinuity problems and variance shadow maps also have serious light bleeding problem. All these prevent their individual use in practice especially in large virtual environment such as games. This paper presents a hybrid method by storing three values in the depth texture: depth, squared depth and exponential depth. From these values we calculate two occlusion values using exponential and variance shadow maps respectively. A minimum of the two occlusion values is taken as the final result. This can efficiently eliminate the problems of the two methods and can be widely used in practice.