3D Rasterization: A Bridge between Rasterization and Ray Casting

Graphics Interface 2012

With our approach, ray tracing and rasterization become almost identical with respect to primary rays. Now rasterization can directly render to non-planar viewports using parabolic and latitude-longitude parameterizations (left images), and we can transfer rendering consistency and efficient anti-aliasing schemes from rasterization to ray tracing. The center image shows the Venice scene consisting of 1.2 million triangles. Our 3D rasterization bridges both approaches and allows us to explore rendering methods in between. The right images show the number of edge function evaluations per pixel for two different 3D rasterization methods (3DR binning and 3DR full).

Abstract

Ray tracing and rasterization have long been considered as two fundamentally different approaches to rendering images of 3D scenes, although they compute the same results for primary rays. Rasterization projects every triangle onto the image plane and enumerates all covered pixels in 2D, while ray tracing operates in 3D by generating rays through every pixel and then finding the closest intersection with a triangle. In this paper we introduce a new view on the two approaches: based on the Pluecker ray-triangle intersection test, we define 3D triangle edge functions, resembling (homogeneous) 2D edge functions. Then both approaches become identical with respect to coverage computation for image samples (or primary rays). This generalized "3D rasterization" perspective enables us to exchange concepts between both approaches: we can avoid applying any model or view transformation by instead transforming the sample generator, and we can also eliminate the need for perspective division and render directly to non-planar viewports. While raytracing typically uses floating point with its intrinsic numerical issues, we show that it can be implemented with the same consistency rules as 2D rasterization. With 3D rasterization the only remaining differences between the two approaches are the scene traversal and the enumeration of potentially covered samples on the image plane (binning). 3D rasterization allows us to explore the design space between traditional rasterization and ray casting in a formalized manner. We discuss performance/cost trade-offs and evaluate different implementations and compare 3D rasterization to traditional ray tracing and 2D rasterization.

Downloads and links

BibTeX reference

@InProceedings { Davidovic:2009:3DR,
   author = { Tom\'{a}\v{s} Davidovi\v{c} and Thomas Engelhardt and Iliyan Georgiev and Philipp Slusallek and Carsten Dachbacher },
   title = {3D Rasterization: A Bridge between Rasterization and Ray Casting },
   year = {2012},
   booktitle = { Proceedings of Graphics Interface }
}