An architecture for distributed and collaborative visualization is presented. The design goals of the system are
to create a lightweight, easy to use and extensible framework for reasearch in scientific visualization. The system
provides both single user and collaborative distributed environment. System architecture employs a client-server
model. Visualization projects can be synchronously accessed and modified from different client machines. We
present a set of visualization use cases that illustrate the flexibility of our system. The framework provides a rich
set of reusable components for creating new applications. These components make heavy use of leading design
patterns. All components are based on the functionality of a small set of interfaces. This allows new components
to be integrated seamlessly with little to no effort. All user input and higher-level control functionality interface
with proxy objects supporting a concrete implementation of these interfaces. These light-weight objects can
be easily streamed across the web and even integrated with smart clients running on a user's cell phone. The
back-end is supported by concrete implementations wherever needed (for instance for rendering). A middle-tier
manages any communication and synchronization with the proxy objects. In addition to the data components,
we have developed several first-class GUI components for visualization. These include a layer compositor editor,
a programmable shader editor, a material editor and various drawable editors. These GUI components interact
strictly with the interfaces. Access to the various entities in the system is provided by an AssetManager. The
asset manager keeps track of all of the registered proxies and responds to queries on the overall system. This
allows all user components to be populated automatically. Hence if a new component is added that supports
the IMaterial interface, any instances of this can be used in the various GUI components that work with this
interface. One of the main features is an interactive shader designer. This allows rapid prototyping of new
visualization renderings that are shader-based and greatly accelerates the development and debug cycle.
Dynamic flow volume rendering of three-dimensional vector fields offers better insights into the continuum and dynamics of the data field under investigation. Consumer graphics cards have seen a rapid explosion of performance and capabilities over the past few years. This paper explores the development of the Textured Splats algorithm for direct flow volume rendering of vector fields, that utilizes this new hardware. This paper presents the technique using the new hardware features like vertex programs, OpenGL multi-textures and register combiner extensions to implement fast dynamic flow volume rendering on a PC equipped with an NVIDIA GeForce4 display card. Several anisotropic textured splats are investigated to implement flow volume rendering.
A simple and yet useful approach to visualize a variety of structures from sampled data is the Maximum Intensity Projection (MIP). Higher valued structures of interest pass in the projection over occluding structures. This can make MIP images difficult to interpret due to the loss of depth information. Animating about the data is one key way to try to decipher such ambiguities. The challenge is that MIP is inherently expensive and thus high frame rates are difficult to achieve. Variations to the original MIP algorithm and classification can help to further alleviate ambiguities and also provide improved image quality and very different visualizations. But they make the technique even more expensive. In addition, they require much parameter searching and tweaking. As today's data sizes are increasingly getting larger, current methods only allow very limited interaction. We explore a view-dependent approach using concepts from image-based rendering. A novel multi-layered image representation storing scalar information is computed at a view sample and then warped to the user's view. We present algorithms using OpenGL to quickly compute MIP and its variations using commodity off-the-shelf graphics hardware to achieve near interactive rates.
Many situations exist where the plotting of large data sets with categorical attributes is desired in a 3D coordinate system. For example, a marketing company may conduct a survey involving one million subjects and then plot peoples favorite car type against their weight, height and annual income. Scatter point plotting, in which each point is individually plotted at its correspond cartesian location using a defined primitive, is usually used to render a plot of this type. If the dependent variable is continuous, we can discretize the 3D space into bins or voxels and retain the average value of all records falling within each voxel. Previous work employed volume rendering techniques, in particular, splatting, to represent this aggregated data, by mapping each average value to a representative color.
This paper discusses scientific visualization of scalar and vector fields, particularly relating to clouds and climate modeling. One cloud rendering method applies a 3-D texture to cloudiness contour surfaces, to simulate a view from outer space. The texture is advected by the wind flow, so that it follows the cloud motion. Another technique simulates multiple scattering of incident light from the sun and sky. This paper also presents a simulation of the microscopic cross-bridge motion which powers muscle contraction. It was rendered by ray-tracing contour surfaces of summed Gaussian ellipsoids approximating the actin and myosin protein shapes.