Game Development Reference
In-Depth Information
We attribute this to the common denominator of both cases, namely the fact
that pixel overdraw is induced, as points are rasterized in the same voxel loca-
tions. This is particularly evident in the blue curve of the 64 2 injection stage
graph of Figure 6.8 (left). Note that this behavior is an inherent attribute of in-
jection techniques in general; screen-space voxelization methods depend heavily
on the sampling rate used. When this rate is incompatible with the voxel space
resolution, holes might appear (undersampling). To ensure adequate coverage of
the voxel grid, dense screen-space point samples are drawn, which in turn leads
to overdraw problems in many cases. One can use an injection grid proportional
to the volume resolution, which partially alleviates the overdraw issue but in turn
decreases performance as can be seen in the red curve of the injection graph of
Figure 6.8 (left and center).
The time required for a single-frame screen-space voxelization (one G-buffer)
equals the time of our injection stage plus a very small overhead to clear the
volume buffer, since the two operations are equivalent. Thus, the only difference
in the execution time of progressive voxelization is the cleanup stage time. With
regard to the quality of the two methods, PV offers more stable and accurate
results as new viewpoints gradually improve the volume.
The total voxelization time ( Figure 6.8 , right) is the sum of the cleanup and
injection stages. As the cleanup stage performance depends only on the volume
resolution and not on the injection grid size, it vastly improves the voxelization
quality compared to using only screen-space injection from isolated frames, at
a constant overhead per frame. Especially when applied to global illumination
calculations, where small volumes are typically used, the version of the algorithm
that uses 2D textures ( Figure 6.8 , center) has a significantly lower execution
footprint. This is because it is not influenced by the geometry shader execution
of the 3D textures version ( Figure 6.8 , left), though both methods are affected
by pixel overdraw during injection.
The performance of the optimized progressive voxelization is identical to that
of the cleanup stage as expected, since it is essentially a modified cleanup stage.
It follows that the dual stage version performance will always be slower than the
optimized one.
The maximum volume resolution reported is due to hardware resource limita-
tions on the number and size of the allocated buffers and not algorithm bounds.
In Table 6.1 we report the voxelization performance results for several scenes
using our method and the geometry-based multichannel full scene voxelization
method of [Gaitatzes et al. 11], which, as ours, is based on the rendering pipeline
(GPU). We show a big speed improvement even when adding to the whole process
the G-buffers creation time.
In Table 6.2 we report on the quality of our voxelization method. The cam-
era was moved around the mesh for several frames, in order for the algorithm
to progressively compute the best possible voxelization. For several models and
resolutions we show the Hausdorff distance between the original mesh and the
 
Search Nedrilad ::




Custom Search