Overview
Almost eighteen years ago, Frieder, Gordon, and Reynolds published
a paper on the back-to-front display of voxel-based objects.
The idea can be explained in parallel to raycasting. Instead of
casting rays originating from the eye point and intersecting it
with the volume data for color calculations, rays are projected
from behind the data set and onto the screen.
So, this cell projection technique can be thought of as
reverse-ray integration, and can produce accurate renderings that
parallel the quality of ray-casted images.
In cell projection, the rendering is done in object space. That
means, regardless of the image size, the rendering time will be
essentially the same. This may be an advantage if high-resolution
renderings are desired. But it is not difficult to see that even
for moderately sized data sets, say, sixty-four cubed, millions of
polygons will have to be drawn for each frame.
Although cell projection is not purposed towards real-time
rendering, it has many desirable properties. Because the data set
is voxelated, the voxels can be manipulated to produce colorful
visual effects. For example, different techniques that subdivide
each voxel for display will produce different artifacts.
Our project is motivated by the different artifacts produced by
different tetrahedralation techniques. "Simplicial Subdivisions
and Sampling Artifacts" by Hamish Carr and Torsten Moeller
describes many such techniques. By setting some of them up for the
Cartesian grid now, it will be possible to transfer them onto the
BCC grid later. At that time, differences due to of the two grids
can be compared and studied.
With that overview, we will now discuss our approach to the
project.
Original Goals
I had already worked on the project for some time this past
summer. When Ian and I started working on the project again, it
was able to subdivide voxels via the minimal five-fold scheme and
project voxels in back to front order. A synthetic sphere was
hardcoded along with its transfer function, and color calculations
for each triangulated tetrahedron was done without considering the
thickness of the tetrahedron.
The original plan was two-fold. Ian was going to work on regular
and curvilinear file reading and I was going to work on
tetrahedralation techniques and on re-implementing the color
calculations for the triangulation of tetrahedra. I said in our
initial proposal that if I don't manage to re-implement the color
calculations, I will at least produce demos that will help me
implement them later.
|