J. Parallel Distrib. Comput. 67 (2007) 1201 – 1217 www.elsevier.com/locate/jpdc Accelerated regular grid traversals using extended anisotropic chessboard distance fields on a parallel stream processor Alphan Es a , Veysi ˙ sler b, a TÜB ˙ ITAK UZAY, METU, Turkey b Department of Computer Engineering, METU, Turkey Received 17 November 2005; received in revised form 28 February 2007; accepted 22 June 2007 Available online 19 July 2007 Abstract Modern graphics processing units (GPUs) are an implementation of parallel stream processors. In recent years, there have been a few studies on mapping ray tracing to the GPU. Since graphics processors are not designed to process complex data structures, it is crucial to explore data structures and algorithms for efficient stream processing. In particular ray traversal is one of the major bottlenecks in ray tracing and direct volume rendering methods. In this work we focus on the efficient regular grid based ray traversals on GPU. A new empty space skipping traversal method is introduced. Our method extends the anisotropic chessboard distance structure and employs a GPU friendly traversal algorithm with minimal dynamic branching.Additionally, several previous techniques have been redesigned and adapted to the stream processing model. We experimentally show that our traversal method is considerably faster and better suited to the parallel stream processing than the other grid based techniques. © 2007 Elsevier Inc. All rights reserved. Keywords: Parallel stream processing; Distance fields; Ray tracing; Parallel rendering; Ray traversal 1. Introduction Ray tracing is a well known photo realistic image synthesis method [3,43]. It can accurately simulate reflections, refrac- tions, shadows and other various light phenomena by tracing ray trajectories, thus can generate high quality images of vir- tual environments. Fast synthesis of realistic images has broad range of application areas including virtual and mixed real- ity, visual simulations, entertainment, etc. On the other hand, ray tracing is computationally very expensive, and thus consid- ered as an off-line rendering method till recently. Lately, with the advent of more capable hardware, interactive ray tracing research gained more popularity. Moreover, ray tracing is ex- pected to be a viable alternative to raster based graphics render- ing [18]. Some of the recent works focused on accelerating ray tracing algorithmically [32,40], while some others are centered Corresponding author. E-mail addresses: alphan.es@uzay.tubitak.gov.tr (A. Es), isler@ceng.metu.edu.tr (V. ˙ sler). 0743-7315/$ - see front matter © 2007 Elsevier Inc. All rights reserved. doi:10.1016/j.jpdc.2007.06.011 upon specialized ray tracing processors [33,34,44]. Utilizing graphics processors of the commodity graphic cards for ray tracing is another research area drawing increasing amount of attention. Originally, graphics processors are meant to rasterize and shade simple primitives such as triangles or lines. However, over the last decade graphics processors improved not only in terms of speed but also in terms of flexibility and programma- bility. Today’s graphics processors are considered as an imple- mentation of streaming parallel processors. Huge processing power and steep acceleration rate in speed led many researchers to develop graphics processing unit (GPU) specific solutions to known problems. Many graphics and non-graphics related problems were successfully mapped to the GPU programming model [13]. Among these, GPU based ray tracing acceleration is relatively new. Carr et al. [5], Purcell [30] and Purcell et al. [31] show how to use GPU for ray tracing computations. Karls- son et al. [20] have implemented a ray tracer that runs fully on GPU utilizing empty space skipping data structures, while Weiskopf et al. [42] have developed a GPU based non-linear ray tracer. Foley et al. [10] implemented kD tree acceleration structure on GPU for ray tracing. More recently bounding