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
˙
I¸ 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.
˙
I¸ 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