In computer graphics, lighting is an important area. To simulate shadows from area light sources, indirect lighting and shadows from indirect light, a class of algorithms commonly known as global illumination algorithms can be used. Ambient occlusion is an approximation to global illumination that can emulate shadows from area light sources and shadows from indirect light, giving very soft shadows. For real-time applications, ambient occlusion can be precomputed and stored in maps or per vertex. However, that can only be done with good results if the geometry is static. Therefore, a number of methods that can handle more or less dynamic scenes have been introduced in the recent years. In this thesis, a collection of ambient occlusion methods for dynamic objects and procedural environments will be described. The main contribution is the introduction of a novel method that handles ambient occlusion for procedural environments. Another contribution is a description of an implementation of Screen Space Ambient Occlusion (SSAO). SSAO is an algorithm that calculates approximate ambient occlusion in real-time by using the depths of surrounding pixels. It handles completely dynamic scenes with good performance. The method for procedural environments handles the scenario where a number of building blocks are procedurally assembled at run-time. The idea is to precompute an ambient occlusion map for each building block where the self-occlusion is stored. In addition, an ambient occlusion grid is precomputed for each block to accommodate the inter-block occlusion. At run-time, after the building blocks have been assembled, the ambient occlusion from the grids is blended with the ambient occlusion from the maps to generate new maps, valid for the procedural environment. Following that, the environment can be rendered with high quality ambient occlusion at almost no cost, in the same fashion as for a static environment where the ambient occlusion maps can be completely precomputed.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-91918 |
Date | January 2013 |
Creators | Jansson, Joel |
Publisher | Linköpings universitet, Institutionen för systemteknik, Linköpings universitet, Tekniska högskolan |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0018 seconds