Summary: | 博士 === 國立清華大學 === 資訊工程學系 === 88 === This study discusses three problems in the global illumination and rendering for scenes with non-diffuse reflections. First, an effective and efficient radiosity algorithm for synthesizing images of environments with many mirror reflections is introduced. According to existing two-pass algorithm for non-perfectly diffuse environments, the computation complexity increases proportionally to the number of mirror reflections. We propose a novel two-pass algorithm based on a data structure named reflection tree to manage complicated energy interactions caused by inter-reflections of multiple mirrors. In the first pass, techniques in radiosity computation and visibility test are used to accelerate the computation. In the second pass, a multi-layered clip-and-paste method is introduced to replace the time consuming ray tracing method. Besides, problems and solutions in realizing the multi-layered clip-and-paste are also addressed.
In the second part, we extend the above algorithm to render non-diffuse surfaces according to BRDF. To render this kind of surfaces requires sufficient number of samples, which are weighted according to their incident and reflected directions. Conventional rendering algorithms used ray tracing based sampling methods, which is a time consuming task. We proposed the sampling-by-projection method, which is basically a projection-based algorithm. By varying viewpoints, intensities in object space can be sampled as images obtained by polygon projections. Therefore, the projection method can be applied to get a group of samples instead of the time consuming point sampling. The final image is then convoluted from these sample values according to their viewing conditions. The images generated by the sampling-by-projection method can reach the same quality as the ray tracing method with less rendering time. Besides, two different approximations of the sampling-by-projection algorithm are discussed and tested.
Finally, as the rendering time is dominated by polygon shading, texture mapping technique is introduced to further speed up the rendering process. In this study, sub-patches belonging to a group of coplanar patches are pre-shaded and rendered as a texture. Then, patches are rendered by texture mapping in the second pass. Method for generating textures are discussed and developed such that the generated textures contain enough surface details with minimal memory requirement. In addition to the texture generation, factors affecting the speed of texture mapping are also discussed. These factors are used to determine when the texture mapping should be used instead of polygon projection. Experiments are conducted to test the influences of these factors on the rendering speed of both texture mapping and polygon projection.
|