VolView 1.1 beta2
Lisa Sobierajski Avila
lisa.avila at kitware.com
Tue Sep 21 15:56:25 EDT 1999
<x-flowed>Hello everyone,
As you may have noticed, there has been some significant changes in the
volume rendering capabilities within VTK recently. Although some of this
work is still under active development, it is functional and the API should
be stable, so I thought it would be a good time to let everyone know it
exists, and to tell you about VolView 1.1 beta
(http://www.kitware.com/volview.htm) which you can download to try out this
new functionality.
The first change that occurred was the addition of support for the
VolumePro volume rendering hardware by Mitsubishi (http://www.rtviz.com).
These classes are included with the VTK distribution in the contrib kit,
but are not included in the makefile by default since compiling them does
require some header / library files that come with the board. Instructions
on how to include the vtkVolumeProMapper classes in the VTK build can be
found in the comment block of those files. The vtkVolumeProMapper can be
used in place of a vtkVolumeRayCastMapper, and an example script in tcl can
be found in contrib/examplesTcl/volProSimple.tcl. This board works nicely
with VTK and although you can't overlap other VTK props with the volume
that is rendered through the VolumePro board (this is a current limitation
of the hardware) you can intermix VTK props with the volume if they do not
overlap in 3D space.
The second change that occurred was the addition of support for 2D hardware
texture mapping as a method of volume rendering. The volume mapper is
called vtkVolumeTextureMapper2D and can also be used in place of a
vtkVolumeRayCastMapper. Generally, the performance is better (assuming you
have some sort of hardware acceleration for 2D texture mapping) but the
image quality is worse than ray casting since the compositing is performed
in hardware (usually 8 bits or less per r, g, b, and a) as opposed to in
software (floating point for ray casting). Currently, this mapper supports
only alpha compositing - we are still working out how to provide maximum
intensity projections with color where the max is not performed per
component, and we are trying to determine how well supported the max
blending operation is across various graphics drivers. All the volume
texture mapping classes are in the graphics kit, and an example of using
this mapper can be found in graphics/examplesTcl/volTexSimple.tcl.
By looking at the two examples indicated above, you can see that switching
between various mapper types is fairly easy. In most cases, it is simply a
matter of switching the type of the mapper when it is created (i.e.
creating a vtkVolumeProMapper instead of a vtkVolumeRayCastMapper) and
removing/adding any mapper specific methods. Since most of the parameters
that control the appearance of the volume are contained in the
vtkVolumeProperty class, there are very few mapper specific methods
(setting the ray cast function is a specific method for
vtkVolumeRayCastMapper, as is turning on the hardware axes for the
vtkVolumeProMapper).
One other change that occurred recently that is significant to volume
rendering is the addition of the vtkLODProp3D class. This is a 3D prop that
allows multiple levels of detail to be defined for a 3D prop. These levels
of detail can be defined with either a vtkMapper / vtkProperty combination,
or a vtkVolumeMapper / vtkVolumeProperty combination. This way you can
represent a volume with a ray cast mapper, a 2D texture mapper, a 2D
texture mapper that uses a subsampled version of the volume, and a simple
geometric representation of the volume data such as a few texture mapped
polygons or a polygonal isosurface. The vtkLODProp3D will determine at each
render which resolution to use (based on the allocated render time of this
prop). An example of the use of this class can be found in
graphics/examplesTcl/volSimpleLOD.tcl.
If you have a chance, please check out our beta release of VolView 1.1 (a
general purpose volume visualization application) for Windows 95/98/NT at
http://www.kitware.com/volview.htm. This will give you a good feel for the
new volume rendering / LOD capabilities of VTK (except for the user
interface / application code, all functionality for this application comes
from VTK) If you are lucky enough to have a VolumePro graphics board, this
will automatically be detected by the application and used as the only
volume rendering technique (since it can achieve 20 to 30 frames per
second!) If you aren't that lucky, then you will get a multi-resolution
technique based on 2D texture mapping and ray casting. There are up to 4
LODs (depending on your data size) - two reduced resolution versions
rendered with 2D texture mapping, a full res version rendered with 2D
texture mapping and a full res version rendered with ray casting. The best
LOD that can achieve a few frames per second will be chosen for interactive
rendering (moving the object around, changing slider values, etc.) while
progressively better LODs will be used to render the image when you stop
interacting. Generally, if you wait long enough a high resolution ray cast
image will appear. You can tell which method is being used based on the
title of the render window. This beta version is fully functional, and
allows you to read a variety of data formats (vtk, slc, vox, raw), view
this data using compositing / MIP, edit parameters such as material
properties and transfer functions, embed annotation such as titles, corner
text, scalar bars, cursors, and axes, crop the data using a variety of
cropping functions, do a thick reformat, view 2D slices, and copy / print
images from the application.
If you do try out this beta version, we would appreciate your feedback. A
feedback form is on our web site, or you can send email to
kitware at kitware.com. Specifically, it would be great if you could tell us
how well (in terms of performance and image quality) it works on your
specific system configuration. We have tested it on various systems, and
both the Riva TNT2 and 3DLabs VX1 work well (good performance, 8 bit
textures), the ATI 3D Rage Pro works OK (good performance, not so great
texture mapping quality) and the Permedia 2 boards did not work well (poor
performance, bad quality, only small textures).
Lisa Avila
lisa.avila at kitware.com
-----------------------------------------------------------------------------
This is the private VTK discussion list. Please keep messages on-topic.
Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
<majordomo at gsao.med.ge.com>. For help, send message body containing
"info vtkusers" to the same address. Live long and prosper.
-----------------------------------------------------------------------------
</x-flowed>
More information about the vtkusers
mailing list