Real-Time Shading and Accurate Shadows Using GPGPU Techniques
Abstract: Over the last 10-15 years, computer graphics hardware has evolved at a tremendous pace, with an exponential growth in the number of transistors. This evolution has transformed the Graphics Processing Unit (GPU) from an entirely fixed-function unit into a highly parallel general-purpose architecture that can be programmed using high-level programming languages. During this time, the computational power of the GPU has continually outpaced that of CPUs, resulting in a considerable performance advantage. As the GPU architecture and capabilities have evolved, so must the algorithms that target these devices. Whereas previously the only road to real-time performance lay in finding ways of mapping problems to the fixed-function hardware, today the bulk of computational power is found in the general-purpose portions of the GPU. The approach in this thesis utilizes this flexibility and power to explore novel and more efficient algorithms that solve important real-time computer graphics problems by targeting the general-purpose GPU-cores. The thesis focuses on two concrete problem areas: many-light shading and accurate shadows. For both of these areas, new algorithms are presented that overcome substantial bottlenecks in previous algorithms. In the area of many-light shading, the thesis presents algorithms that enable a very large number of lights to be shaded, effectively eliminating the number of lights as a primary bottleneck. An efficient method for using virtual shadow maps for hundreds of lights is also introduced, a previously unsolved problem. For accurate shadows, an algorithm is presented that takes a novel approach to shadow volumes and shows that this results in a robust, flexible, and highly efficient algorithm. The new algorithm is shown to outperform previous work and provide much more predictable performance with changing views. The underlying problem that is solved in the different algorithms in this thesis is that of intersecting the visible samples with bounding volumes representing light or shadow. The solutions presented in this thesis demonstrate that this can be efficiently achieved using groupings of view samples, combined with a hierarchical acceleration structure. This problem is of a quite general nature, and the solutions derived in this thesis should therefore be applicable to many related real-time rendering problems.
CLICK HERE TO DOWNLOAD THE WHOLE DISSERTATION. (in PDF format)