Game Development Reference
Figure 6.6. Comparison of the voxelization of the Crytek Sponza II Atrium.
(a, b) Single-frame screen-space voxelization from two distinct viewpoints where it is
not possible to capture all environment details as no information exists in the buffers.
(c) Progressive voxelization produced over several frames. (d, e) Indirect lighting buffers
corresponding to the single frame voxelization of (a) and (b). (f, g) PV indirect lighting
buffers (of the voxelization in (c)).
Figure 6.7 demonstrates progressive voxelization in a dynamic environment in
real time. In particular, it shows an animated sequence of a scene with moving
and deformable objects, as well as the corresponding voxelization from the camera
viewpoint. Observe how the wall behind the closed door is not initially present
in the volume, but after the door opens, it is gradually added to the volume
and remains there even after the door swings back. The same holds true for
the geometry behind the character. Notice also how the voxels representing the
articulated figure correctly change state as the figure moves.
Figure 6.8 shows a decomposition of the total algorithm running time into
the cleanup and injection stage times respectively versus different volume buffer
resolutions for three different injection grid sizes using the 3D volume textures
implementation (left) and the 2D textures implementation (center). For fixed
injection grid resolutions, we have observed that injection times are not mono-
tonically increasing with respect to volume size as one would expect. The per-
formance also decreases when the buffer viewpoint moves close to geometry.