Title: Interactive Volume Isosurface Rendering Using BT Volumes
1Interactive Volume Isosurface Rendering Using BT
Volumes
- John Kloetzli
- Marc Olano
- Penny Rheingans
- UMBC
2Overview
- Introduction and Previous Work
- Background
- Volume Reconstruction
- Bezier Tetrahedra
- BT Volumes
- Definition
- Function Fitting
- Reconstruction
- Rendering
- Results and Conclusions
3Introduction
- Isosurface rendering is important in many
applications - Medical visualization
- Chemistry
- Marching Cubes is the most popular interactive
technique - Very fast, BUT
- Low quality reconstruction
Marching Cubes rendering
4Introduction (cont)
- BT Volumes can do better than MC
- Interactive frame rates
- Isosurface level changed on the fly
- High-quality reconstruction
- Many filters possible
BT Volume rendering
5Previous Work
- Lorensen et al. Marching cubes A
High-Resolution 3D Surface Construction
Algorithm 1987. SIGGRAPH 87 - Marschner and Lobb. An evaluation of
Reconstruction Filters for Volume Rendering
1994. Vis 94 Proceedings of the conference on
Visualization 94 - Parker et al. Interactive Ray Tracing for Volume
Visualization 1999. IEEE Transactions on
Visualization and Computer Graphics - Rossl et al. Visualization of Volume Data with
Quadratic Super Splines 2003. VIS. 03
Proceedings of the 14th IEEE Visualization
6Overview
- Introduction and Previous Work
- Background
- Volume Reconstruction
- Bezier Tetrahedra
- BT Volumes
- Definition
- Function Fitting
- Reconstruction
- Rendering
- Results and Conclusions
7Background
- Discrete Convolution is the mathematical tool
used to reconstruct a continuous function from a
discrete sampling - The Filter Kernel is a function used to
combine sample points from a scalar volume
8Bezier Tetrahedra
- Cubic Bezier Tetrahedra are a family of Bezier
solids defined by a tetrahedron T and a set of 20
weights - BT can be rendered quickly using graphics hardware
Loop and Blinn, Real-Time GPU Rendering of
Piecewise Algebraic Surfaces (Siggraph
Proceedings, Boston, 2006)
9Overview
- Introduction and Previous Work
- Background
- Volume Reconstruction
- Bezier Tetrahedra
- BT Volumes
- Definition
- Function Fitting
- Reconstruction
- Rendering
- Results and Conclusions
10BT Volumes - Overview
- We introduce the BT Volume
- Piecewise-defined continuous 3D function
- Tetrahedral grid of Bezier Tetrahedra
- BT Volumes allow
- Direct volume fitting
- Exact filtering with approximated filters
- Interactive rendering of isosurfaces
11BT Volumes - Definition
- In order to define a BT Volume we need to create
a tetrahedral partition - We use a special mapping to define how
each voxel divides into tetrahedra - must be applied in exactly the same way to
each voxel - The result is a shift invariant partition of 3D
space - We can create a continuous function by
associating BT weights with each tetrahedron
12BT Volumes - Fitting
- We can construct BT Volumes by approximating
existing 3D functions - We used simple least-squares method
We used the a 6-tetrahedron function for our
work
13BT Volumes - Reconstruction
- We could use direct fitting on a large volume,
but it is impractical - A better technique is to fit a reconstruction
filter as a BT Volume - The filter will be much smaller than the volume
- Convolution of a BT Volume with a discrete scalar
volume will produce another BT Volume - The resulting BT Volume will retain the
characteristics of the reconstruction filter
14BT Volumes - Reconstruction
- This works because the function enforces that
all BT in the same relative position will line up
correctly - Convolution will be the summation of scaled BT
15BT Volumes - Reconstruction
Why does this work? Consider volume
reconstruction within an arbitrary tetrahedron, T
New weight term
Only this will depend on (a,b,c)
16BT Volumes - Rendering
- We can render the BT Volume interactively using
the method devised by Loop and Blinn - Generate the BT Volume
- Store each Bezier Tetrahedron as a single vertex
- Geometry shader creates screen-space triangles
- Pixel shader solves for particular isosurface
17Overview
- Introduction and Previous Work
- Background
- Volume Reconstruction
- Bezier Tetrahedra
- BT Volumes
- Definition
- Function Fitting
- Reconstruction
- Rendering
- Results and Conclusions
18Results
Molecule (643)
Bucky ball (323)
Engine (1283)
19Results
- We are able to render BT Volumes up to 643
interactively - BT Volumes do require a lot of space
NVIDIA 8800 GTS
20Results
21Conclusions
- We have presented BT Volumes as a volume
representation format capable of - Direct function fitting
- Convolution filtering
- Interactive rendering
- Future work
- Examination of more expressive functions
- Analysis of filter approximations
- Compression/storage methods
22Questions?
- Acknowledgements
- The Volume Library provided volume data sets
(www9.informatik.uni-erlangen.de/External/vollib/
) - Dr. Alark Joshi and Jesus Caban for their support
- The entire VANGOGH lab at UMBC for their help
- This work was funded in part by NSF grant 0121288
23Bezier Tetrahedra (cont)
- Cubic Bezier Tetrahedra are a family of Bezier
solids defined by a tetrahedron and a set of 20
weights
Let be the positions of the vertices
of the tetrahedron and be the
weights. Then we can transform a point in
Euclidian space into barycentric space by
and the Bezier Tetrahedron is defined as
Loop and Blinn, Real-Time GPU Rendering of
Piecewise Algebraic Surfaces (Siggraph
Proceedings, Boston, 2006)
24BT Volumes - Rendering
- We can exploit properties of the volume and BT to
get early-out tests for the pixel shader - Store the minimum and maximum BT weight values
for the filter with each tetrahedron - If the current isosurface level is not within
that range, we dont have to proceed any further
for that tetrahedron - Space requirements 2 floating point values per
tetrahedra - Speedup Variable. If the volume has empty
space, this will speed rendering up considerably
25BT Volumes - Rendering
- Changing isosurface level
- How can we render any isosuface level?
- We want a space where the polynomial has a
constant term which can absorb the constant - Euclidian space works for this purpose
Proof Lets take the inverse transform so
becomes and therefore when we have a
constant term which can combine with c