In addition to geometric primitives such as spheres and triangles, the library can render volumetric data. Volume rendering can be used to generate images of MRI scans, clouds, fluid flow, and other grid or density data. The image shown in Figure 3 was generated from an MRI scan of a human head. The density values in the MRI scan were used to define opacity and color at each sample point.
Figure 3: Volume Rendered MRI Scan
WWW Bonus Figure: Volume Rendered Fire Animation (MPEG)
(Not included in the non-WWW paper)
Ray casting is employed to sample the volume set and accumulate color and opacity as light passes through the volume. Since volume data values can be mapped to shading characteristics at run time, ray casting is a flexible method for rendering volume data. No preprocessing is necessary when rendering volume data with ray casting, all computations can be performed in place. The current implementation of the volume renderer handles scalar volume data only. Volume data can be supplied by the application, or loaded from disk files. Non-scalar vector fields from CFD simulations and similar applications will be supported soon.