Scalable Isosurface Visualization (thesis)
Scientific data visualization assists users in understanding and analyzing large volumes of
raw data by converting them into graphic representations. The main challenges in
building a visualization system are large datasets, high-resolution displays, and the need
to visualize remote datasets over slow networks. This dissertation focuses on visualizing
isosurfaces efficiently under these challenges.
First, to visualize large datasets efficiently on high-resolution displays, this
dissertation proposes a new isosurface extraction algorithm that generates approximate
results much faster than previous algorithms. The algorithm extracts portions of the
isosurface in a view-dependent manner by ray casting and propagation. It casts rays
through a volume to find visible active cells as seeds and then propagates their polygonal
isosurface into the neighboring cells. Small pieces of the isosurface are generated by
distance-limited propagation and joined together to form the final surface. Evaluation
shows that this progressive algorithm generates an approximate result quickly before the
final correct image is reached over time. In addition, the algorithm scales with the
resolution of the display and supports adaptive-resolution visualization.
This dissertation further discusses design options that are used for a fast
implementation of the base algorithm.
Finally, this dissertation presents a simple and effective protocol for remote
isosurface visualization. The protocol breaks up the isosurface visualization pipeline at
the 3D primitive stage for the server to send primitives to the client. Several techniques
are introduced to reduce communication requirement and to provide interactive
visualization. The server runs an efficient isosurface extraction algorithm that generates
view-dependent portions of the isosurface. The resulting 3D primitives are organized into
groups and sent to the client to be rendered. This approach uses primitive compression,
progressive level-of-detail, and primitive caching techniques to improve the interactivity
perceived by the user. This dissertation reports and compares the experiment results
under different settings to show the effectiveness of these techniques. The results show
that, when applied together, the techniques reduce both the amount of data transferred
and time spent when the result becomes 90% correct by two orders of magnitude.