Single Scattering in Scenes containing Semi-Transparent Objects and Participating Media

Researching, solving and evaluating single scattering and transparency as a single problem

More Info
expand_more

Abstract

Volumetric light scattering caused by participating media has been and still is a complicated, but visually pleasing lighting effect that increases the sense of realism of digital scenes tremendously. Various solutions to rendering these effects in real-time exist, basing themselves upon the single scattering approximation. Transparency is another difficult subject within the field of computer graphics, due to the constraint of having to somehow find the order of semi-transparent objects, or to approximate them independently of order. However, no prior research has focused on scenes in which both participating media and semi-transparent objects are present. While a technique such as Depth Peeling (Everitt, 2001) can be used to solve the problem, this method has some major downsides and often does not obtain real-time results. In this thesis we attempt to obtain faster results, while trying to pertain as much quality as possible. To this end, we take the Depth Peeling method as our reference.

By partitioning scenes into what we call 'depth zones' as seen from the light, we can obtain necessary color and depth information to then approximately render the required result using ray-marching. Partitioning scenes is done in various ways (uniformly, non-uniformly) and special data structures are used to store all necessary information efficiently. The combination of partitioning and data storage led to two new methods being implemented: Multisample Texture Depth Zones (MSTDZ) and histogram-based MSTDZ, of which the last sorts fragments of a scene into bins to determine where to partition depth zones in a less naive way than standard MSTDZ. Both of these methods have the ability to approximate Depth Peeling's results very well, at higher speeds and, depending on the approximation, using lower amounts of memory.
A final addition was implemented which groups texels of the histogram texture used in histogram-based MSTDZ as to use smaller textures. In low complexity scenes, this gives the possibility to lower the amount of consumed memory, at the cost of time and a small amount of quality, compared to the reference method.

Files