overestimation.
The problem considered in this paper is that of
finding a technique for ray-tracing general implicit
surfaces, that has the following properties: a) Its ray-
surface intersection procedure should be reliable, i.e.
no roots should be missed; b) A wide range of im-
plicit models should be supported – meaning that the
algorithm should be able to work with procedurally
defined models as well as with algebraic ones; c) The
procedure should be fast and suitable for a GPU im-
plementation for interactive rendering.
In this paper we propose to use Revised Affine
Arithmetic (RevAA in the text) as a fast and reli-
able technique for calculating the range of a function
for a given interval and hence for the core for the
ray-surface intersection procedure. Also we extend
affine arithmetic by affine forms related to the pro-
cedural definition of the model to decrease the num-
ber of computations while evaluating the interval for
the function and hence decrease the rendering time.
The main contributions in this paper are: 1) widen-
ing the scope of the reliable ray-tracing from alge-
braic surfaces defined by polynomials to general im-
plicit surfaces defined by function evaluation proce-
dures involving both affine and non-affine operations
based on Revised Affine Arithmetic; 2) a technique
to represent the procedural model by using special
affine forms with a case study of affine forms for set-
theoretic operations in form of R-functions; 3) a tech-
nique for optimising the proposed ray-tracing proce-
dure by using argument pruning applied to Revised
Affine Arithmetic.
2 RELATED WORK
Ray-tracing of implicit surfaces is a well-researched
area. Most of the techniques described in a survey
(Hart, 1993) are approximate and can miss small sur-
face features, but on the other hand, they are suitable
for all types of implicit surfaces. Later, several tech-
niques were presented for particular types of implicit
surfaces that provided not only an increase in speed
but also reliability. Thus, in (Hart, 1994) a distance
property is needed for the ray-tracing procedure, in
(Sherstyuk, 1999) blobs, metaballs and convolution
surfaces are the types of implicit surface that can be
rendered fast.
Other ways to increase speed of ray-tracing are
by reducing the number of processed rays intersect-
ing the implicit surface and by using specialized
hardware, for example graphical processors (GPUs).
In (Hasan, 2003), the number of processed rays
is reduced by using image-space subdivision, while
(Gamito and Maddock, 2007a) uses progressive re-
finement. GPU-based ray-tracing of implicit surfaces
was introduced only for particular types of the ob-
jects, such as radial-basis functions (Corrigan and
Dinh, 2005). Ray-tracing of general implicit surfaces
on the GPU was performed in (Fryazinov and Pasko,
2008) and in (Singh and Narayanan, 2009) by using
approximate methods.
Reliable computational techniques based of In-
terval Arithmetic have been known for a long time.
However, most of the literature relates to fields such
as global optimisation rather than computer graphics.
The works of (Mitchell, 1991) and (Snyder, 1992) dis-
cussed applications of Interval Arithmetic for com-
puter graphics purposes, and Affine Arithmetic was
used for ray-tracing of implicit surfaces in (de Cusatis
Jr. et al., 1999) . A good comparison of different
interval techniques can be found in (Martin et al.,
2001), however the list of the implicit models used
in this paper is limited to those given in the polyno-
mial form. In (Gamito and Maddock, 2007b) the Re-
duced Affine Arithmetic was introduced for the pur-
poses of stochastic implicit model rendering. How-
ever, the Reduced Affine Arithmetic could not be used
for general implicit models, as only affine operations
and multiplication were supported. Interval Arith-
metic and Reduced Affine Arithmetic are applied for
fast rendering of implicit surfaces by using the GPU
in (Knoll et al., 2009). A more detailed comparison
of these techniques with the one proposed here can be
found in the ”Results” section below. In this paper,
we use Revised Affine Arithmetic (Vu et al., 2009),
which was introduced recently for the purposes of
constraint propagation and has not yet been used in
computer graphics.
3 BACKGROUND
3.1 Procedurally Defined Implicit
Surfaces
A zero level set or an isosurface of a trivariate real
function f of a point with coordinates (x,y,z) is tra-
ditionally called an implicit surface and is defined as
f(x,y,z) = 0. It can also be considered as the bound-
ary of a solid (three-dimensional manifold) defined by
the inequality f(x,y, z) ≥ 0. There are many different
ways to specify the function f(x,y,z). The simplest
form is that of an algebraic implicit surface defined
by a polynomial function. Most of the extant work on
reliable ray-tracing concentrates solely on algebraic
surfaces. More complex forms involve exponential,
GRAPP 2010 - International Conference on Computer Graphics Theory and Applications
200