Energy viewset (energy-01)
The energy-01 viewset is representative of a typical volume rendering application in the seismic and oil and gas fields. Similar to medical imaging such as MRI or CT, geophysical surveys generate image slices through the subsurface that are built into a 3D grid. Volume rendering provides a 2D projection of this 3D volumetric grid for further analysis and interpretation.
At every frame, depending on the viewer position, a series of coplanar slices aligned with the viewing angle are computed on the CPU and then sent to the graphics hardware for texturing and further calculations such as transfer function lookup, lighting and clipping to reveal internal structures. Finally, the slices are blended together before the image is displayed.
The voxel in the 3D grid is a single scalar value. A transfer function — simply a 1D lookup table — maps the 3D density value to color and alpha values. For lighting calculations, the gradients are computed on the fly using the central differences at each voxel. These state changes exercise various parts of the graphics subsystem. This viewset makes use of hardware support for 3D textures and therefore trilinear interpolation.
The 3D datasets used in this viewset are all procedurally generated using a simple random function. There is a medium-res 1GB dataset and a large-res 3.2GB dataset. The large-res viewsets will exit on cards with less than 4GB graphics memory.
The results for energy-01 are a little curious. The Quadro K620 naturally tanks in this gruelling test, and the Quadro K5200 wins out easily. But the Quadro K2200 somehow beats the K4200. We thought this was a mistake, but have since seen similar results on different systems. The only explanation we can give is that the K2200 uses the more recent Maxwell architecture, whereas the K4200 uses Kepler. The K5200 is the clear champ, though, and gains a little benefit when run on the overclocked Core i7 as well.