4 research outputs found
Ray casting implicit fractal surfaces with reduced affine arithmetic
A method is presented for ray casting implicit surfaces defined by fractal combinations of procedural noise functions. The method is robust and uses affine arithmetic to bound the variation of the implicit function along a ray. The method is also efficient due to a modification in the affine arithmetic representation that introduces a condensation step at the end of every non-affine operation. We show that our method is able to retain the tight estimation capabilities of affine arithmetic for ray casting implicit surfaces made from procedural noise functions while being faster to compute and more efficient to store
Interactive ray tracing of arbitrary implicits with SIMD interval arithmetic
Journal ArticleWe present a practical and efficient algorithm for interactively ray tracing arbitrary implicit surfaces. We use interval arithmetic (IA) both for robust root computation and guaranteed detection of topological features. In conjunction with ray tracing, this allows for rendering literally any programmable implicit function simply from its definition. Our method requires neither special hardware, nor preprocessing or storage of any data structure. Efficiency is achieved through SIMD optimization of both the interval arithmetic computation and coherent ray traversal algorithm, delivering interactive results even for complex implicit functions
Ray Casting Implicit Fractal Surfaces with Reduced Affine Arithmetic
Abstract A method is presented for ray casting implicit surfaces defined by fractal combinations of procedural noise functions. The method is robust and uses affine arithmetic to bound the variation of the implicit function along a ray. The method is also efficient due to a modification in the affine arithmetic representation that introduces a condensation step at the end of every non-affine operation. We show that our method is able to retain the tight estimation capabilities of affine arithmetic for ray casting implicit surfaces made from procedural noise functions while being faster to compute and more efficient to store
Static Analysis for Efficient Affine Arithmetic on GPUs
Range arithmetic is a way of calculating with variables that hold ranges of real values. This ability to manage uncertainty during computation has many applications.
Examples in graphics include rendering and surface modeling,
and there are more general applications like global optimization and
solving systems of nonlinear equations.
This thesis focuses on affine arithmetic, one
kind of range arithmetic.
The main drawbacks of affine arithmetic are
that it taxes processors with heavy
use of floating point arithmetic
and uses expensive sparse vectors to represent
noise symbols.
Stream processors like graphics processing units (GPUs)
excel at intense computation, since they
were originally designed for high throughput
media applications. Heavy control flow and irregular
data structures pose problems though, so the
conventional implementation of affine arithmetic
with dynamically managed sparse vectors runs
slowly at best.
The goal of this thesis is to map affine arithmetic
efficiently onto GPUs by turning sparse vectors
into shorter dense vectors at compile time using
static analysis. In addition,
we look at how to improve efficiency further
during the static analysis using unique symbol
condensation. We demonstrate our implementation and
performance of the condensation on several
graphics applications