Clinical diagnostic images, for example, CT, MRI, and PET.
Unstructured meshes that are common in CFD analysis.
The OpenGL Volumizer API facilitates rapid development of efficient, portable, and easily maintainable applications that have the ability to manipulate volumes.
OpenGL Volumizer facilitates displaying and manipulating volumetric data by providing a level of abstraction that shelters the application programmer from the mundane task of dealing with platform-specific details thereby shortening prototyping and development cycles and allowing the programmer to focus on the application rather than the mechanics of the volume rendering process. At the same time, OpenGL Volumizer allows the implementers of the API to create highly optimized code that can be tailored to specific platforms and updated as new hardware and software are introduced. Applications can thus take full advantage of the underlying hardware while maintaining a single code base spanning multiple platforms.
OpenGL Volumizer is specifically designed for volume visualization applications. It hides the details of low-level graphics languages and exposes only those functions that are necessary for viewing volumetric data.
OpenGL Volumizer provides an unparalleled set of sought-after features. The following sections describe some of them:
Volumizer facilitates displaying and manipulating volumetric data by providing a level of abstraction that shelters the application programmer from the mundane task of dealing with platform-specific details. Volumizer thereby shortens prototyping and development cycles.
By handling the mechanics of volume rendering, application development time is radically shortened.
The driving force behind Volumizer is optimal handling and display of volumetric models. Volumizer enables developers to create highly optimized code tailored to specific platforms that can be updated as new hardware and software is introduced.
Volumizer's 64-bit support enables access and manipulation of data files larger than 4 GB. A typical seismic data set could be as large as 10 GB. OpenGL Volumizer hides the details of handling such large data sets.
Volumizer is the higher-level alternative to OpenGL that allows developers to focus more directly on the large picture rather than on the fine granularity characteristic of low-level graphics programming languages, such as OpenGL.
By handling the mechanics of volume rendering, Volumizer enables developers to focus on the unique qualities that differentiate their application.
Volumizer provides the ease of a higher-level graphics programming language. However, Volumizer supports full access to OpenGL for programmers needing low-level control in their applications. Applications can thereby take full advantage of the underlying hardware while maintaining a single code base spanning multiple platforms.
Developing graphics applications for different platforms and different operating systems is both time consuming and expensive. Now, with Volumizer, developers can create one application that runs on many platforms and operating systems without modification. While the current release of Volumizer is for IRIX only, support for other hardware and software platforms is being considered.
Volumizer API is an immediate mode toolkit built on top of OpenGL. Therefore, Volumizer can be used in the familiar framework of many existing, immediate mode applications.
Volumizer enables the integration of its volumetric shapes with the geometric shapes produced by other, higher-level, retained mode toolkits, such as:
For example, you can render volumetrically defined clouds in a flight simulator (IRIS Performer), or a CAD model (OpenGL Optimizer) of a hip prosthesis in the anatomical context provided by a diagnostic CT scan of a pelvis. This intermixing is possible because Volumizer converts volumes into a set of polygons; each polygon is a slice of a volume and each slice can be rendered with polygons from the other toolkits.
OpenGL Volumizer does not explicitly provide support for any of the toolkits mentioned above. Instead, simple examples of how to create node “wrappers” in these toolkits are provided.
While Volumizer does not explicitly support multi-pipe operation, Volumizer can be used in conjunction with other software to provide this functionality. For example, Volumizer can operate in the frameworks of Optimizer, Performer and Multi Pipe Utility (MPU) all of which provide this type of functionality.
Volumizer provides a robust set of features, including:
Arbitrarily-shaped volumes of interest
Volume modeling decoupled from appearance
Roaming very large data sets
A unified approach to regular grids and unstructured meshes
Support for imbedded geometry
Support for handling multiple volumes
The Volumizer API is a layer of functionality that, like other Silicon Graphics graphics APIs, sits on top of OpenGL, as shown in Figure 1-2.
Volumizer is positioned on top of OpenGL because Volumizer can:
Be decomposed into more primitive actions already supported by OpenGL
Provide a high degree of configurability, extensibility (low level control), and ease-of-use (high level of abstraction)