Two Alternative Parallel Implementations for Ray Tracing: OpenMP and MPI

In computer graphics, rendering scenes into high-quality images efficiently is critical, especially if some interactivity is required. However, it is hard to satisfy both speed and interactivity requirements for most existing rendering algorithms. Ray Tracing is an algorithm for three-dimensional scene rendering, but it needs massive heavy floating-point computations. Nevertheless, the algorithm can be very well parallelized, making it ideal for parallel mutli-core architectures. In this paper, we present a structured model for parallel Ray Tracing together with two software implementations in OpenMP and MPI. The model is based on the Uniform Grid spatial subdivision of the scene, which allows for intersection test reduction. Furthermore, we show that a parallel implementation improves the algorithm performance when the rendered scenes are large and sparse.

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

[2]  Philipp Slusallek,et al.  RPU: a programmable ray processing unit for realtime ray tracing , 2005, ACM Trans. Graph..

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

[4]  Nadia Nedjah,et al.  GridRT: A Massively Parallel Architecture for Ray-Tracing Using Uniform Grids , 2009, 2009 12th Euromicro Conference on Digital System Design, Architectures, Methods and Tools.

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

[6]  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.

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

[8]  Peter Shirley,et al.  Realistic ray tracing , 2000 .