Real-time shadow generation for 3D environments
Student thesis: Master's Thesis
Related Research Unit(s)
Shadows are important clues for us to perceive the 3D environment. For the purpose of realism, many algorithms and techniques have been developed for rendering scenes with realistic shadows. However, this is a really challenging research topic. Although a number of good methods have been proposed, several issues still hover around. Shadows can be categorized into two types, hard shadow and soft shadow, based on the type of light source generating the shadow. Hard shadow is generated by point light sources or directional light sources, and soft shadow is generated by area or volume light sources. Although it is soft shadow that really occurs in real life, it is still a very tough problem to generate it after years of research. Hard shadow is broadly used in real-time applications and is our interest in this thesis. Hard shadow methods have gone into two directions, geometry-based methods and image-based methods. In geometry-based methods, shadows are represented by some geometry called shadow volumes, which are rendered in the same way as rendering other geometry objects in the scene. The shadow generated is geometry correct because it is the result of intersecting the shadow volume with the real objects. This kind of methods usually has a very high fill rate which dramatically slows down the performance. Research topics on this type of methods focus on how to minimize the generation of shadow volumes and how to render them efficiently. Shadow map is a classical image-based shadowing approach to efficiently and robustly generate the shadows. However it introduces severe aliasing when the resolution of the shadow map is not high enough. Some research work has explored different ways of adjusting the resolution of the shadow map so that it can provide sufficient sampling. Recently, some ad-hoc methods have been developed to combine geometry-based methods and image-based methods. In this thesis, I present a basic theory framework on shadow mapping method. We then propose several novel methods for shadow calculation. Our research attempts to cover both geometry-based direction and image-based direction of hard shadow generation algorithms. Three methods are proposed. One introduces an intermediate plane in the scene to change the sample pattern on the shadow map. The other enables irregular sampling by building an importance map to construct an irregular grid for storing the shadow map. Our third method belongs to geometry method, which stores the vertex information into a triangular map, which is then used to reconstruct the shadow edges without pre-calculating the silhouette of the objects in the scene. Thus this method can be implemented on the current graphics hardware. The first two methods are based on the shadow mapping and they present different ways of adjusting the resolution of the shadow map. The intermediate plane ensures the sampling on the plane is optimal so that several interested planes can be selected from the scene to have optimal shadow qualities. The importance map method extends the ‘interested plane’ to ‘interested area’ so that we can enhance the shadow map resolution in certain region of the viewer’s space. Usually we make this interested area to the nearviewer area in the viewing frustum. The third method goes in another direction which tries to combine the image-based methods with the geometry-based methods. It introduces the triangular map used to perform the geometry test near the shadow boundaries, while the shadow map method is used for interior shadow areas. Our experiments show that the first method has the best performance among all the three methods, since all the transformation is represented by a matrix multiplication, which is fully supported by hardware. The third method is the slowest among these three because the operation performed in the pixel shader is very complex and complex pixel shader will always give a penalty to performance. However, we can achieve very good shadow quality through the third method since triangular map ensures the quality near shadow boundaries. The quality and the performance of second method are between the other two. The importance map can provide better resolution adaptation than the intermediate plane, but it consumes extra time to generate this map. However, the importance map cannot provide the exact shadow boundary as the triangular map due to the limited resolution of the importance map itself.
- Three-dimensional display systems, Computer animation, Computer graphics