2012
 |
|
Ray Tracing
Visualization Toolkit
Christiaan Gribble, Jeremy Fisher, Daniel Eby,
Ed Quigley and Gideon Ludwig
ACM SIGGRAPH Symposium on Interactive 3D Graphics
& Games, March 2012
The Ray Tracing Visualization Toolkit (rtVTK) is a
collection of programming and visualization tools
supporting visual analysis of ray-based rendering
algorithms. rtVTK leverages layered visualization
within the spatial domain of computation, enabling
investigators to explore the computational elements of
any ray-based renderer. Renderers utilize a library
for recording and processing ray state, and a
configurable pipeline of loosely coupled components
allows run-time control of the resulting
visualization. rtVTK enhances tasks in development,
education, and analysis by enabling users to interact
with a visual representation of ray tracing
computations.
|
|
|
|
|
|
Ray State
Visualization
Christiaan Gribble
Invited talk,
US Army Research Laboratory, Aberdeen Proving Ground, March
2012
The Ray Tracing Visualization Toolkit (rtVTK) is a collection of
programming and visualization tools supporting the visual analysis
of algorithms that implement ray-based computations. rtVTK enables
investigators to explore the computational elements of such
algorithms via layered visualization within the spatial domain of
computation. Client programs utilize a library for recording and
processing ray state, and an interactive GUI integrates a
configurable pipeline of loosely coupled components to
allow run-time control of the resulting visualizations.
This
talk will provide an overview of rtVTK, including its goals and the
key components of its software architecture. We will also discuss
two areas in computer graphics to which ray state visualization with
rtVTK has been applied successfully. Finally, we will speculate on
the role of ray state visualization generally—and rtVTK
specifically—in advanced, non-graphics applications such as
ballistic penetration simulations.
|
2011
 |
|
Ray Tracing
Visualization Toolkit
Jeremy Fisher, Daniel Eby, Ed Quigley,
Gideon Ludwig, and Christiaan Gribble
Poster, ACM
SIGGRAPH/Eurographics High Performance
Graphics, August 2011
Monte Carlo rendering algorithms typically
simulate light transport throughout an
environment via ray tracing. Even with
recent advances targeting highly parallel
platforms, high-quality images often require
many seconds of computation to converge.
The visual analysis of ray tracing operations
may promote a better understanding of the way
in which computation proceeds and expose
opportunities to utilize hardware resources
more effectively. This work-in-progress
introduces the Ray Tracing Visualization
Toolkit (rtVTK), a collection of C++ libraries
and an extensible GUI designed to support the
visual analysis of ray-based rendering
algorithms.
An extended
abstract for the poster is also
available. |
|
|
|
 |
|
Stream Filtered Ray
Tracing: An Overview & Recent Results
Christiaan Gribble
Invited talk,
Department of Computer Science, Bucknell University, April
2011
Stream filtering is an approach to coherent ray tracing that recasts
the basic algorithm as a series of conditional operations, or
stream filters, designed
to exploit coherence in arbitrarily-sized groups of arbitrary rays,
or ray streams.
These filters partition streams into active and inactive
subsets throughout rendering, isolating and processing
only those rays exhibiting some property of interest in a
given stage. The core
operations in ray tracing—including traversal, intersection, and
shading—can be written as a sequence of stream filters that
eliminate inactive elements and maximize coherence in later
operations.
This talk will provide an overview of stream
filtered ray tracing, including some highlights of
StreamRay, a multicore
SIMD microarchitecture that delivers frame rates of 15-32
frames/second for scenes of high geometric complexity rendered with
Kajiya-style path tracing.
We will also discuss recent results from an ongoing analysis
of the bandwidth requirements imposed by the approach and speculate
about the design of an ideal memory hierarchy for ray-based graphics
architectures that implement stream filtered ray tracing.
|
2010
 |
|
Integer Ray Tracing
Jared Henily, Shawn Recker, Kevin Bensema, Jesse Porch, and
Christiaan Gribble
journal of graphics, gpu, & game tools,
vol. 14, no. 4
Despite nearly universal support for the IEEE 754 floating-point standard
on modern general-purpose processors, a wide
variety of more specialized processors do not
provide hardware floating-point units and rely
instead on integer-only pipelines. Ray tracing
on these platforms thus requires an integer
rendering process. Toward this end, we clarify
the details of an existing fixed-point
ray/triangle intersection method, provide an
annotated implementation of that method in C++,
introduce two refinements that lead to greater
flexibility and improved accuracy, and highlight
the issues necessary to implement common
material models in an integer-only context. Finally, we provide the source code for a
template-based integer/floating-point ray tracer
to serve as a testbed for additional experimentation with integer ray tracing
methods.
The source code for tangere, the
cross-platform, template-based integer/floating-point
ray tracing system implementing the techniques described in the paper, is also available.
tangere is intended to serve as a testbed for additional enhancements and further
experimentation with integer ray tracing techniques.
The source code is distributed under the Apache License, version 2.0. Please see the
LICENSE file that accompanies the source distribution for
details concerning the Apache License.  The README includes
instructions for building and running tangere on *NIX and Win32 systems.
|
|
|
|
 |
|
Toward
Stream Filtered Ray Tracing on a DSP
Kevin Bensema, Jesse Porch, Jared Heinly, Shawn Recker, and
Christiaan Gribble
Poster, ACM SIGGRAPH/Eurographics High Performance Graphics,
June 2010
This work-in-progress explores the implementation of stream filtered
ray tracing using the Storm-1 stream processing architecture
developed by Stream Processors, Inc. This poster presents our
efforts to map the stream filtering approach to the Storm-1
processor and highlights the current progress toward a full-featured
ray-based rendering system for the architecture.
An extended abstract
for the poster is also available. |
2009
 |
|
Introducing Multithreaded
Programming: POSIX Threads and NVIDIA's CUDA
Christiaan P. Gribble
ASEE Computers in Education Journal, October-December 2009
The current progression of commodity processing architectures
exhibits a trend toward increasing parallelism, requiring that
undergraduate students in a wide range of technical disciplines gain
an understanding of problem solving in massively parallel
environments. However, as a small comprehensive college, we
cannot currently afford to dedicate an entire semester-long course
to the study of parallel computing. To combat this situation,
we have integrated the key components of such a course into a
300-level course on modern operating systems. In this paper,
we describe a parallel computing unit that is designed to dovetail
with the discussion of process and thread management common to
operating systems courses. We also describe a set of
self-contained projects in which students explore two parallel
programming models, POSIX Threads and NVIDIA’s Compute Unified
Device Architecture, that enable parallel architectures to be
utilized effectively. In our experience, this unit can be
integrated with traditional operating systems topics quite readily,
making parallel computing accessible to undergraduate students
without requiring a full course dedicated to these increasingly
important topics.
This
paper also appears in the proceedings of the
2009 ASEE Annual Conference and Exposition, June 2009.
|
|
|
|
 |
|
Packet-Based Interactive
Ray Tracing with CUDA
Jared S. Heinly, Kevin D. Bensema, and Christiaan P. Gribble
Poster, ACM SIGGRAPH/Eurographics High Performance Graphics,
August 2009
As an introduction to high-performance computing in massively
parallel environments, this undergraduate work-in-progress explores
the implementation of packet-based interactive ray tracing using
NVIDIA‘s Compute Unified Device Architecture (CUDA). This poster
presents our variation of the BVH-based packet traversal algorithm
introduced by Günther et al. [2007]. Currently, our implementation
achieves 8-14 frames per second with visibility rays, full
texturing, and simple eyelight shading for several scenes of varying
geometric complexity.
An extended
abstract for the poster is also available. |
|
|
|
 |
|
StreamRay:
A Stream Filtering Architecture for Coherent
Ray Tracing
Karthik Ramani, Christiaan P. Gribble,
and Al Davis
14th International Conference on
Architectural Support for Programming
Languages and Operating Systems (ASPLOS
'09), March 2009
The wide availability of commodity graphics
processors has made real-time graphics an
intrinsic component of the human/computer
interface. These graphics cores accelerate the
z-buffer algorithm and provide a highly
interactive experience at a relatively low
cost. However, many applications in
entertainment, science, and industry require
high quality lighting effects such as accurate
shadows, reflection, and refraction. These
effects can be difficult to achieve with
z-buffer algorithms but are straightforward to
implement using ray tracing. Although ray
tracing is computationally more complex, the
algorithm exhibits excellent scaling and
parallelism properties. Nevertheless, ray
tracing memory access patterns are difficult
to predict and the parallelism speedup promise
is therefore hard to achieve.This paper
highlights a novel approach to ray tracing
based on stream filtering and presents
StreamRay, a multicore wide SIMD
microarchitecture that delivers interactive
frame rates of 15-32 frames/second for scenes
of high geometric complexity and exhibits high
utilization for SIMD widths ranging from eight
to 16 elements. StreamRay consists of two main
components: the ray engine, which is
responsible for stream assembly and employs
address generation units that generate
addresses to form large SIMD vectors, and the
filter engine, which implements the ray
tracing operations with programmable
accelerators. Results demonstrate that
separating address and data processing reduces
data movement and resource
contention. Performance improves by 56% while
simultaneously providing 11.63% power savings
per accelerator core compared to a design
which does not use separate resources for
address and data computations. |
2008
 |
|
Ray Tracing for Undergraduates
Christiaan P. Gribble
ASEE Computers in Education Journal, October-December 2008
The computer graphics research
community has recently renewed its interest in ray tracing, an image
synthesis algorithm that simulates the interaction of light with an
environment to generate highly realistic images. Recent hardware
trends and algorithmic developments make the technique competitive
with raster-based algorithms, and some suggest that ray tracing will
begin to dominate interactive rendering in coming years.
At Grove City College, we have mapped the contents of common
graduate-level courses in ray tracing to an undergraduate audience.
Students design and implement a full-featured ray tracing system in
a semester-long course that focuses on:
-
the essential
physics and mathematics,
-
software
architecture and the impact of design decisions,
-
writing efficient
object-oriented code, and
-
basic algorithm
analysis.
The course also affords an opportunity to introduce
students to the relevant computer science literature, both seminal
works and recent innovations, throughout the semester.
In this paper, we provide a brief overview of the
visibility problem and two competing algorithms that are commonly
used to solve the problem, we detail the course topics and
methodology we have used, and we describe our experience in a pilot
course with a small group of undergraduate students. This
paper also appears in the proceedings of the
2008 ASEE Annual Conference and Exposition, June 2008. |
|
|
|
 |
|
Interactive
Particle Visualization
Christiaan P. Gribble
Book chapter, Trends in Interactive Visualization:
State-of-the-Art Survey, November 2008
Particle-based simulation methods are used to model a wide range of
complex phenomena and to solve time-dependent problems of various
scales. Effective visualizations of the resulting state will
communicate subtle changes in the three-dimensional structure,
spatial organization, and qualitative trends within a simulation as
it evolves. This chapter discusses two approaches to
interactive particle visualization that satisfy these goals: one
targeting desktop systems equipped with programmable graphics
hardware, and the other targeting moderately sized multicore systems
using packet-based ray tracing. |
|
|
|
 |
|
GPU Computing with CUDA: A
Hands-on Tutorial
Christiaan P. Gribble
Invited talk, Pittsburgh Perl Workshop, October 2008
In recent years, commodity graphics processing units (GPUs) have
rapidly evolved from fixed-function pipelines implementing the
z-buffer rendering algorithm to programmable, highly parallel
machines that can be used to solve a wide range of problems.
NVIDIA's Compute Unified Device Architecture (CUDA) is a GPU
programming environment based on extensions to the C programming
language that exposes the processing power of these devices for
general-purpose problem solving. This talk provides a basic
introduction to current GPU architectures, and includes a series of
hands-on exercises that demonstrate some common techniques for
programming NVIDIA GPUs using the CUDA framework. |
|
|
|
 |
|
Coherent Ray Tracing via
Stream Filtering
Christiaan P. Gribble and Karthik
Ramani
IEEE/Eurographics Symposium on Interactive Ray Tracing,
August 2008
We introduce an approach to coherent ray tracing based
on a new stream filtering algorithm. This algorithm,
which is motivated by breadth-first ray traversal and
elimination of inactive ray elements, exploits the
coherence exhibited by processing arbitrarily-sized
groups of rays in SIMD fashion. These groups are
processed by a series of filters that partition rays
into active and inactive subsets throughout the various
stages of the rendering process. We present results
obtained with a detailed cycle-accurate simulation of a
hardware architecture that supports wider-than-four SIMD
processing and efficient scatter/gather memory and
stream partitioning operations. In this context, stream
filtering achieves frame rates of 15-25 fps for scenes
of high geometric complexity rendered with path tracing
and a variety of advanced visual effects. |
|
|
|
 |
|
Practical Global
Illumination for Interactive Particle Visualization
Christiaan P. Gribble, Carson Brownlee, and Steven G. Parker
Computers & Graphics, February 2008
Particle-based simulation methods are used to model a wide range of
complex phenomena and to solve time-dependent problems of various
scales. Effective visualizations of the resulting state will
communicate subtle changes in the three-dimensional structure,
spatial organization, and qualitative trends within a simulation as
it evolves. We present two algorithms targeting upcoming,
highly parallel multicore desktop systems to enable interactive
navigation and exploration of large particle data sets with global
illumination effects. Monte Carlo path tracing and texture
mapping are used to capture computationally expensive illumination
effects such as soft shadows and diffuse interreflection. The
first approach is based on precomputation of luminance textures and
removes expensive illumination calculations from the interactive
rendering pipeline. The second approach is based on dynamic
luminance texture generation and decouples interactive rendering
from the computation of global illumination effects. These
algorithms provide visual cues that enhance the ability to perform
analysis and feature detection tasks while interrogating the data at
interactive rates. We explore the performance of these
algorithms and demonstrate their effectiveness using several large
data sets. |
 |
|
SIMD Ray Stream Tracing - SIMD Ray
Traversal with Generalized Ray Packets and
On-the-fly Re-Ordering
Ingo Wald, Christiaan P. Gribble, Solomon
Boulos, and Andrew Kensler
Technical report, Scientific Computing and Imaging Institute,
University of Utah, UUSCI-2007-012, August
2007
Achieving high performance on modern CPUs requires
efficient utilization of SIMD units. Doing so
requires that algorithms are able to take full
advantage of the SIMD width offered and to not waste
SIMD instructions on low utilization cases. Ray
tracers exploit SIMD extensions through packet
tracing. This re-casts the ray tracing algorithm
into a SIMD framework, but high SIMD efficiency is
only achieved for moderately complex scenes, and
highly coherent packets. In this paper, we
present a stream programming oriented traversal
algorithm that processes streams of rays in SIMD
fashion; the algorithm is motivated by breadth-first
ray traversal and implicitly re-orders streams of rays
on the fly by removing deactivated rays after each
traversal step using a stream compaction step.
This improves SIMD efficiency in the presence of
complex scenes and diverging packets, and is, in
particular, designed for potential wider-than-four
SIMD architectures with scatter/gather support.
This technical report appears as a poster in the IEEE
Symposium on Interactive Ray Tracing, September
2007.
An extended
abstract for the poster is also
available.
|
|
|
|

|
|
A Coherent
Grid Traversal Approach to Visualizing Particle-Based Simulation
Data
Christiaan P. Gribble, Thiago Ize, Andrew Kensler, Ingo Wald, and
Steven G. Parker
IEEE Transactions on Visualization
and Computer Graphics, July/August 2007
We present an approach to visualizing particle-based simulation data
using interactive ray tracing, and describe an algorithmic
enhancement that exploits the properties of these datasets to
provide highly interactive performance and reduced storage
requirements. This algorithm for fast packet-based ray tracing of
multi-level grids enables interactive visualization of large,
time-varying datasets with millions of particles and incorporates
advanced features like soft shadows. We compare the performance of
our approach with two recent particle visualization systems: one
based on an optimized single ray grid traversal algorithm, the other
on programmable graphics hardware. This comparison demonstrates that
the new algorithm offers an attractive alternative for interactive
particle visualization. |
|
|
|

 |
|
Interactive Particle
Visualization with Advanced Shading Models using Lazy Evaluation
Christiaan P. Gribble and Steven G. Parker
Eurographics Symposium on Parallel Graphics and Visualization,
May 2007
Particle-based simulation methods are used to model a wide range of
complex phenomena and to solve time-dependent problems of various
scales. Effective visualizations of the resulting state will
communicate subtle changes in the three-dimensional structure,
spatial organization, and qualitative trends within a simulation as
it evolves. We describe a visualization process targeting
upcoming, highly parallel multicore desktop systems that enables
interactive navigation and exploration of large particle datasets
rendered with illumination effects from advanced shading models.
These expensive illumination effects are evaluated lazily by
decoupling interactive display and high quality rendering. We
explore the performance characteristics of this approach and
demonstrate its effectiveness using several large particle datasets. |
|
|
|
 |
|
Visualization as a Tool
for Education and Research
Christiaan P. Gribble
Invited talk, Faculty Scholarship Workshop, Grove City College,
February 2007
Visualization supports a wide variety of information processing
tasks and enables viewers to identify and explore the salient
features of their data more effectively. Using computer
graphics, visual representations of the data can be constructed to
highlight the pertinent characteristics of a particular phenomena or
process. Visualization helps to foster understanding across
many disciplines, including science, engineering, business, and the
arts, by permitting insights that might otherwise be overlooked.
This talk explores the characteristics that make visualization
appropriate for use in the education and research endeavors at
undergraduate institutions like Grove City College. |
[ 2001-2006 ]
[ 2007-2012 ]
[ 2013-2018 ]
[ 2019-present ]
|