A Parallel Ray Tracing Architecture Suitable for Application-Specific Hardware and GPGPU Implementations

The Ray Tracing rendering algorithm can produce high-fidelity images of 3-D scenes, including shadow effects, as well as reflections and transparencies. This is currently done at a processing speed of at most 30 frames per second. Therefore, actual implementations of the algorithm are not yet suitable for interactive real-time rendering, which is required in games and virtual reality based applications. Fortunately, the algorithm allows for massive parallelization of its computations. In this paper, we present a parallel architecture for ray tracing based on a uniform spatial subdivision of the scene and exploiting an embedded computation of ray-triangle intersections. This approach allows for a significant acceleration of intersection computations, as well as, a reduction of the total number of the required intersections checks. Furthermore, it allows for these checks to be performed in parallel and in advance for each ray. In this paper we discuss and analyze an ASIP-based implementation using FPGAs and a GPGPU-based parallel implementation of the proposed architecture. The performance of both implementations are reported and compared.

[1]  Philipp Slusallek,et al.  Distributed interactive ray tracing of dynamic scenes , 2003, IEEE Symposium on Parallel and Large-Data Visualization and Graphics, 2003. PVG 2003..

[2]  Tarek A. El-Ghazawi,et al.  The Promise of High-Performance Reconfigurable Computing , 2008, Computer.

[3]  Ingo Wald,et al.  Ray tracing animated scenes using coherent grid traversal , 2006, ACM Trans. Graph..

[4]  Hans-Peter Seidel,et al.  Exploring the use of ray tracing for future games , 2006, Sandbox '06.

[5]  Kristóf Ralovich Implementing and Analyzing a GPU Ray Tracer Kristóf Ralovich , 2007 .

[6]  P. Slusallek,et al.  RPU: a programmable ray processing unit for realtime ray tracing , 2005, SIGGRAPH '05.

[7]  P.H. Christensen,et al.  Ray Tracing for the Movie `Cars' , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[8]  Turner Whitted,et al.  An improved illumination model for shaded display , 1979, CACM.

[9]  Bui Tuong Phong Illumination for computer generated pictures , 1975, Commun. ACM.

[10]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[11]  Dipl.-Ing,et al.  Real-time Rendering , 2022 .

[12]  Nadia Nedjah,et al.  A parallel architecture for Ray-Tracing , 2010, 2010 First IEEE Latin American Symposium on Circuits and Systems (LASCAS).

[13]  Maxim Shevtsov,et al.  Ray-Triangle Intersection Algorithm for Modern CPU Architectures , 2007 .

[14]  C.B. Cameron Using FPGAs to Supplement Ray-Tracing Computations on the Cray XD-1 , 2007, 2007 DoD High Performance Computing Modernization Program Users Group Conference.

[15]  Nadia Nedjah,et al.  A massively parallel hardware architecture for ray-tracing , 2009, Int. J. High Perform. Syst. Archit..

[16]  Markus Wagner,et al.  Interactive Rendering with Coherent Ray Tracing , 2001, Comput. Graph. Forum.

[17]  Mary K. Vernon,et al.  Toward a multicore architecture for real-time ray-tracing , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

[18]  Kellogg S. Booth,et al.  Report from the chair , 1986 .

[19]  Pat Hanrahan,et al.  Ray tracing on a connection machine , 1988, ICS '88.

[20]  Jim Hurley,et al.  Ray Tracing Goes Mainstream , 2005 .

[21]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[22]  Markus Wagner,et al.  Interactive Distributed Ray Tracing of Highly Complex Models , 2001, Rendering Techniques.

[23]  John C. Hart,et al.  The ray engine , 2002, HWWS '02.

[24]  Philipp Slusallek,et al.  SaarCOR: a hardware architecture for ray tracing , 2002, HWWS '02.

[25]  Takayuki Tanaka,et al.  ARTS: Accelerated Ray-Tracing System , 1986, IEEE Computer Graphics and Applications.