Scalable isosurface visualization

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.