Hierarchical Z-buffer visibility
SIGGRAPH '93 Proceedings of the 20th annual conference on Computer graphics and interactive techniques
Hierarchical polygon tiling with coverage masks
SIGGRAPH '96 Proceedings of the 23rd annual conference on Computer graphics and interactive techniques
Triangle scan conversion using 2D homogeneous coordinates
HWWS '97 Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware
View-independent environment maps
HWWS '98 Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware
I3D '99 Proceedings of the 1999 symposium on Interactive 3D graphics
An improved illumination model for shaded display
Communications of the ACM
A parallel algorithm for polygon rasterization
SIGGRAPH '88 Proceedings of the 15th annual conference on Computer graphics and interactive techniques
Incremental and hierarchical Hilbert order edge equation polygon rasterizatione
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware
Ray tracing on programmable graphics hardware
Proceedings of the 29th annual conference on Computer graphics and interactive techniques
Interactive Distributed Ray Tracing of Highly Complex Models
Proceedings of the 12th Eurographics Workshop on Rendering Techniques
Fundamentals of Texture Mapping and Image Warping
Fundamentals of Texture Mapping and Image Warping
Physically Based Rendering: From Theory to Implementation
Physically Based Rendering: From Theory to Implementation
RPU: a programmable ray processing unit for realtime ray tracing
ACM SIGGRAPH 2005 Papers
Multi-level ray tracing algorithm
ACM SIGGRAPH 2005 Papers
The irregular Z-buffer: Hardware acceleration for irregular data structures
ACM Transactions on Graphics (TOG)
Ray tracing animated scenes using coherent grid traversal
ACM SIGGRAPH 2006 Papers
Ray tracing deformable scenes using dynamic bounding volume hierarchies
ACM Transactions on Graphics (TOG)
Interactive k-d tree GPU raytracing
Proceedings of the 2007 symposium on Interactive 3D graphics and games
Fast non-linear projections using graphics hardware
Proceedings of the 2008 symposium on Interactive 3D graphics and games
Larrabee: a many-core x86 architecture for visual computing
ACM SIGGRAPH 2008 papers
Queue - GPU Computing
Real-time KD-tree construction on graphics hardware
ACM SIGGRAPH Asia 2008 papers
Some techniques for shading machine renderings of solids
AFIPS '68 (Spring) Proceedings of the April 30--May 2, 1968, spring joint computer conference
A parallel algorithm for construction of uniform grids
Proceedings of the Conference on High Performance Graphics 2009
Data-parallel rasterization of micropolygons with defocus and motion blur
Proceedings of the Conference on High Performance Graphics 2009
Efficient ray traced soft shadows using multi-frusta tracing
Proceedings of the Conference on High Performance Graphics 2009
Understanding the efficiency of ray traversal on GPUs
Proceedings of the Conference on High Performance Graphics 2009
HLBVH: hierarchical LBVH construction for real-time ray tracing of dynamic geometry
Proceedings of the Conference on High Performance Graphics
Simpler and faster HLBVH with work queues
Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics
High-performance software rasterization on GPUs
Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics
Instant ray tracing: the bounding interval hierarchy
EGSR'06 Proceedings of the 17th Eurographics conference on Rendering Techniques
Hi-index | 0.00 |
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 Plücker 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 ray tracing 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.