Hybrid Sample-based Surface Rendering
Technische Universität München, Germany.
Left: Close-up of the David statue consisting of about 1 billion triangles. The image is rendered in less than 30ms onto a 1920x1080 viewport using a hybrid method of rasterization and ray-casting on a sample-based data structure.
Right: color-coding of the used rendering method: rasterization (red) and ray-casting (green).
The performance of rasterization-based rendering on current GPUs strongly depends on the abilities to avoid overdraw and to prevent rendering triangles smaller than the pixel size. Otherwise, the rates at which high-resolution polygon models can be displayed are affected significantly. Instead of trying to build these abilities into the rasterization-based rendering pipeline, we propose an alternative rendering pipeline implementation that uses rasterization and ray-casting in every frame simultaneously to determine eye-ray intersections. To make ray-casting competitive with rasterization, we introduce a memory-efficient sample-based data structure which gives rise to an efficient ray traversal procedure.
In combination with a regular model subdivision, the most optimal rendering technique can be selected at run-time for each part. For very large triangle meshes our method can outperform pure rasterization and requires a considerably smaller memory budget on the GPU. Since the proposed data structure can be constructed from any renderable surface representation, it can also be used to efficiently render isosurfaces in scalar volume fields, where our data structure is generated on-the-fly in CUDA on the GPU. The compactness of the data structure allows rendering from GPU memory when alternative techniques already require exhaustive paging.
We would like to thank the Digital Michlangelo Project at Stanford for providing the David statue.
A standalone viewer without the hybrid rendering functionality to demonstrate the effectiveness of our sample-based representation for high-resolution meshes is available for download along with the Lucy and the David dataset. The triangle representation is not included in both datasets to keep their size at a minimum.
The viewer requires a GPU with DirectX 11 capabilities and has been tested on several NVidia GeForce GPUs.
High resolution image
A rendering of the David statue onto a 14944 x 35904 viewport is available [here] (297 MB).