GeForce GTX 980 Whitepaper 
MAXWELL: ENABLING THE NEXT 
FRONTIER IN PC GRAPHICS 
 
 
21 
 
Hardware Acceleration for VXGI – Multi-Projection and Conservative Raster 
One exciting property of VXGI is that it is very scalable—by changing the density of the voxel grid, and 
the amount of tracing of that voxel grid that is performed per pixel, it is possible for VXGI to run across a 
wide range of hardware, including Kepler GPUs, console hardware, etc. However, for Maxwell it was an 
important goal to identify opportunities for significant acceleration of VXGI that would enable us to 
demonstrate its full potential and achieve the highest possible level of realism.  
As described above, VXGI based lighting has three major phases—the first two are new, accomplishing 
the generation of a new voxel data structure, while the third stage is a modification of the existing 
lighting phase of real time rendering. Therefore, to enable VXGI as a real-time dynamic lighting 
technique, it is important that the new work—the creation of the voxel data structure—is as fast as 
possible, as this is the part of VXGI that is new work for the renderer. Fast voxelization ensures that 
changes in lighting or the position of objects in the scene can be reflected immediately in the lighting 
calculation. 
With this in mind, it was a top priority for Maxwell to implement hardware acceleration for this stage. 
One important observation is that the voxelization stage is challenged by the need to analyze the same 
scene geometry from many views—each face of the voxel cube—to determine coverage and lighting. 
We call this property of rendering the same scene from multiple views “multi-projection.” It turns out 
that multi-projection is a property of other important rendering algorithms as well. For example, cube 
maps (used commonly for assisting with modelling of reflections) require rendering to six faces. And as 
will be discussed in more depth later, shadow maps can also be rendered at multiple resolutions. 
Therefore, acceleration of multi-projection is a broadly useful capability. Today, multi-projection can be 
implemented either by explicitly sending geometry to the hardware multiple times, or by expanding 
geometry in the geometry shader; however, neither approach is particularly efficient. The specific 
capability that we added to speed up multi-projection is called “Viewport Multicast.” With this feature, 
Maxwell can use dedicated hardware to automatically broadcast input geometry to any number of 
desired render targets, avoiding geometry shader overhead. In addition, we added some hardware 
support for certain kinds of per viewport processing that are important to this application. 
“Conservative Raster” is the second feature in Maxwell that accelerates the voxelization process. As 
illustrated in the following Figure 11, conservative raster is an alternate algorithm for triangle 
rasterization. In traditional rasterization, a triangle covers a pixel if it covers a specific sample point 
within that pixel, for example, the pixel center in the following picture. Therefore with traditional 
rasterization, the four purple pixels would be considered “covered” by the triangle. 
With conservative rasterization rules on the other hand, a pixel is considered covered if any part of the 
pixel is covered by any part of the triangle. In the following picture, the seven orange pixels are also 
“covered” by conservative rasterization rules.