Game Development Reference
In-Depth Information
( injected ) into the volume buffer to form a partial volume of the observed space.
These commonly include the view camera G-buffers like depth, albedo, normals,
and the light sources' reflective shadow maps (RSMs) [Dachsbacher and Stam-
minger 05]. The injection procedure is explained in more detail in [Kaplanyan 09]
and Section 6.2.2. Since the only volume samples that can be produced in each
frame are the ones that are visible in at least one of the images available in the
rendering pipeline, each time the (camera or light) view changes, a new set of
sample points becomes available and the corresponding voxels are generated from
scratch to reflect the newly available image samples. Thus the generated volume
will never contain a complete voxelization of the scene. This leads to significant
frame-to-frame inconsistencies and potentially inadequate volume representations
for the desired volume-based effect, especially when the coverage of the scene in
the available image buffers is limited.
To alleviate the problems of screen-space voxelization techniques, but main-
tain their benefit of predictable, controllable, and bound execution time relative
to full-scene volume generation methods, we introduce the concept of progressive
voxelization (PV). The volume representation is incrementally updated to include
the newly discovered voxels and discard the set of invalid voxels, which are not
present in any of the current image buffers. Using the already available camera
and light source buffers, a combination of volume injection and voxel-to-depth-
buffer reprojection scheme continuously updates the volume buffer and discards
invalid voxels, progressively constructing the final voxelization.
The algorithm is lightweight and operates on complex dynamic environments
where geometry, materials, and lighting can change arbitrarily. Compared to
single-frame screen-space voxelization, our method provides improved volume
coverage (completeness) over nonprogressive methods while maintaining its high
performance merits.
We demonstrate our technique by applying it as an alternative voxeliza-
tion scheme for the light propagation volumes (LPV) diffuse global illumination
method of [Kaplanyan and Dachsbacher 10]. However, being a generic multiat-
tribute scalar voxelization method, it can be used in any other real-time volume
generation problem.
Overview of Voxelization Method
Our progressive voxelization scheme is able to produce stable and valid volume
data in a geometry-independent manner. As the user interacts with the environ-
ment and dynamic objects move or light information changes, new voxel data are
accumulated into the initial volume and old voxels are invalidated or updated
if their projection in any of the image buffers (camera or light) proves inconsis-
tent with the respective available recorded depth. For a schematic overview see
Figure 6.1 , and for a resulting voxelization see Figures 6.4 and 6.5.
Search Nedrilad ::

Custom Search