---------------------------------------------------------------------- Volren A Hardware Accelerated Volume Renderer (version 6.1) ---------------------------------------------------------------------- What Is It? ----------- Volren is a hardware accelerated volume renderer based upon the texture mapping capabilities available in Silicon Graphics' Indigo2 Impact, Onyx Reality Engine, and Onyx Infinite Reality architectures. The renderer provides the ability to control the mapping from scalar data value to color and opacity as well as the ability to render voxel and geometric data together. The renderer loads data as a collection of 2D image files in one of many formats. What's New? ----------- Volren has changed significantly since version 5.0. Most notably it now supports all three Silicon Graphics platforms that have hardware accelerated texture mapping. Additionally, many buggy or semi-coded features of version 5.0 have been removed. Version 6.1 features: Movie Creation Support ---------------------- Volren now contains some very basic support for movie generation. See the man page for more details. One Binary For All Platforms ---------------------------- Volren no longer requires a separate binary for each platform. Volren now automatically senses the platform it is running on and chooses the appropriate texture size and rendering algorithm for that architecture. ImageVision Library 3.0 Support ------------------------------- Volren can now be compiled to support either IL 2.5 or IL 3.0. Numerous Bug Fixes ------------------ Numerous other bugs were fixed. These include a race-condition which caused volren to incorrectly load data and a situation where volren would incorrectly determine the amount of available texture memory. Version 6.0 features: First Class Open GL support --------------------------- Volren now first supports OpenGL. The IrisGL code remains in volren, but it has not been extensively tested. Future versions of volren will probably only support OpenGL. OpenGL should compile and run cleanly on any Irix 6.2 platform (even those without texture mapping hardware, though it will be slow). Additionally volren should work properly on Indigo2 Impacts running Irix 5.3 as well as Onyx Reality Engines with the latest OpenGL patch installed (patch 918). Extended Lookup Table support ----------------------------- Volren nows supports a more sophisticated and powerful color and opacity lookup mechanism. It can read the tablemap files supported by version 5.0 as well as color only (colormap) and opacity only (alphamap) files. The colormap and alphamap are possibly altered by the currently selected transfer function. The result is the lookup table used to map the volume when it is rendered. Many transfer functions are now supported, including "window/level", "triangle", "inverse triangle", "double triangle", and "medical". Additionally the code easily supports the addition of extra transfer functions. Reorganized Interface --------------------- The interface has been reorganized and restructured to provide a flatter and less intimidating look. Additionally, functions are now grouped into menus logically for easier access. Menu entries also show hot keys to facilitate quick learning of key short cuts. Version 5.0 features: Multiple Volume support ----------------------- Volren now supports loading multiple volumes concurrently. The volumes can intersect each other arbitrarily and will be correctly merged and rendered. Each volume can be translated and rotated individually. Additionally, each volume can use its own texture lookup table allowing an enormous range of flexibility in merged rendering. Time Variant Volume support --------------------------- Volren can now load four dimensional volumes that change over time. The animation rate is controllable from the command line and the user interface. These time variant volumes can be loaded with normal volumes or other time variant volumes or both. Geometry Code improved ---------------------- The geometric matrix code is entirely rewritten and much cleaner. The source is much more readable and a description of the different important coordinate spaces exists in src/README.CODERS. Stereo Viewing support ---------------------- Volren version 5.0 supports stereo. The stereo code is reworked and looks better than ever. Numerous Other fixes -------------------- Option to disable generation of four-bit bricks. Slice plane extents now computed correctly. Picking works right in perspective and orthogonal modes. Pixel replication mode works correctly again. Brick seaming code reworked; minor bugs fixed. Supports two resampling filters (box and triangle). Updated man page and data sets! How Do I Get It? ---------------- A compressed tar file can be fetched from sgigate.sgi.com in the ~ftp/pub/demos directory. Login as "ftp" and provide your email address as the password (e.g. "foo@bar.com"). The file of interest is called "volren-6.tar.Z". Uncompress the tar file using zcat or uncompress. Untarring the file should produce a directory called "volren-6". Structure --------- Below is the basic structure of this distribution of volren. README This file README.html Top level HTML documentation bin/ Open GL volume renderers data/ Data files demo/ Shell scripts doc/ Documentation doc/how-to/ How to build a volume renderer article doc/man/ Nroff and packed man pages doc/manual/ HTML volren manual etc/ Support binaries html/ Support HTML files lib/ Support libraries rundemos* Shell script to launch the demo scripts slides/ Volume rendering showcase slides src/ Source code Authors ------- Volren was written by Todd Kulick and Brian Cabral with help and suggestions from far too many to name. Thanks to all of you! Administrivia ------------- SGI reserves the right to maintain this software as much or as little as it sees fit. Bugs fixes, explanations and installation help are not guaranteed. For more information see src/Copyright. If you have questions, comments, or remarks about volren feel free to contact: Todd Kulick kulick@sgi.com Thanks and have fun!