Visualization Shading project
David Bock
NCSA Visualization and Virtual
Environments
last update: Jan, 2004
Project Description
With it's programmatic control of the rendering process, RenderMan from Pixar provides a novel approach to generating visualization imagery. In addition to it's high-quality, production rendering capabilities, RenderMan offers the programmer the ability to craft user-specified procedures that are executed by the actual rendering process. These procedures, called shaders, allow the programmer to specify, algorithmically, how objects in a scene are lit and shaded.
Recently, I've been researching and experimenting with novel ways to apply this customizable rendering methodology to scientific visualization. This approach incorporates the notion of previous work on data shaders [Corrie, B. and Mackerra, P., Data Shaders, IEEE Visualization 1993, p. 275]. Larry Gritz, author of Blue Moon Rendering Tools, also helped start this work by providing the first volume shader to render scientific data.
First, this technique leverages RenderMan's programming language by employing customized procedures, or shaders, to render data directly in sophisticated representation paradigms. In typical visualization systems, many mapping routines generate intermediate geometry that is rendered by a separate, closed hardware or software rendering engine for the final imagery. By encapsulating the mapping algorithm within a shader, data is directly mapped to final pixel values thereby removing the necessity for intermediate geometry. This process of "shading the data" lends itself well to exploring and developing new representation techniques bringing further insight and understanding to the underlying data. More recently, RenderMan's new C++ shadeop functionality has provided the capability to develop more elegant data shaders using previously written C++ classes performing general data management and visualization methods.
Secondly, such a system "bridges the gap" between interactive data visualization and analysis systems and sophisticated, commercial animation and rendering packages. Traditionally, generating high-fidelity, production-oriented visualization imagery has been limited to a few select "specialists." These specialists must be experienced in transferring data and visualization primitives between a myriad of visualization software tools, custom programs, scripts, converters, and commercial rendering software. Such a system manages these processes within a single easy-to-use tool putting the power of this specialized procedure in the hands of the scientists and researchers. Similar to the way in which artists interactively edit and test shaders within a CG scene, this interface will allow scientists and researchers to edit visualization shaders to investigate the data using these techniques.
These techniques have been implemented using both Pixar's Photorealistic RenderMan and Blue Moon Rendering Tools.
See the May 1999 issue of Computer Graphics
World (TechWatch column) for a detailed article on this technique.
Project Examples
Galaxy Cluster
![]() |
Hurricane Opal
|
3D Rayleigh-Taylor
|
|
Galaxy Clusters |
Neutron Star Collision |
Imagery from Computer Graphics World article on Visualization Shading (May 1999)
The first image shows both a volumetric and geometric representation of the electron density distribution of the C60 (buckyball) molecule. Both a (halo-shaded) isosurface and volume rendering of the density are shown. The volume rendered region uses a rainbow colormap ranging from dark blue/purple - green - yellow - pink - white.
The second image shows rainwater distribution in an evolving thunderstorm simulation. The rainwater is volume rendered varying in intensity from dark blue to purple to orange to pink to white.