[vtkusers] volume rendering changes

Lisa S. Avila lisa.avila at kitware.com
Mon Aug 20 17:10:54 EDT 2001


Hello,

I have just checked in some fairly significant changes to 
vtkVolumeRayCastMapper. These changes are part of the "bigger picture" of 
the rendering restructuring in VTK.

Here are the highlights of the change:
    * The vtkVolumeRayCastMapper now does its own ray casting (as opposed 
to relying on the vtkRayCaster)
    * The ray casting resolution is independent of the resolution at which 
geometry is rendered - so when you drop to lower resolution ray casting for 
interactivity the geometry does not become blocky
Here are the API changes:
    * All the methods in vtkRayCaster are obsolete. This includes:
        * Methods to control the automatic image scale such as 
AutomaticScaleAdjustmentOn, AutomaticScaleAdjustmentOff, 
SetAutomaticScaleLowerLimit. Instead you should use these methods on the 
vtkRayCastMapper: AutoAdjustSampleDistancesOn, 
AutoAdjustSampleDistancesOff, SetImageSampleDistance, 
SetMinimumImageSampleDistance, and SetMaximumImageSampleDistance
        * The method to control the number of threads - this has moved from 
vtkRayCaster to vtkVolumeRayCastMapper (SetNumberOfThreads)
        * Methods to control nearest neighbor or bilinear zoom - in the new 
vtkVolumeRayCastMapper only bilinear zoom is supported currently.
    * Ray bounding for ray casting is no longer supported. Therefore the 
SetRayBounder method is obsolete on the vtkVolumeRayCastMapper.
    * A new variable IntermixIntersectingGeometry was introduced into the 
vtkVolumeRayCastMapper. By default it is on. If you do not have 
intersecting geometry (a bounding box around the volume is not 
intersecting, a cursor drawn through the volume is) you may want to turn 
this off to improve the performance and the low resolution image.


Here is what's coming next:

         Next Monday I will be checking in the next set of changes. This 
will include removing two passes from the renderer (ray casting and render 
into image). At this point I will remove the following obsolete classes:

vtkRayCaster
vtkViewRays
vtkRayBounder
vtkProjectedPolyDataRayBounder
vtkOpenGLProjectedPolyDataRayBounder
vtkMesaProjectedPolyDataRayBounder
vtkRayCastStructures.h
vtkVolumeRayCastStructures.h


Let me know if you run into any problems or have any questions.


Lisa

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20010820/7da58639/attachment.htm>


More information about the vtkusers mailing list