[vtkusers] Volume Rendering, cell mode, and rotation optimization - VTK macro bug/issue?
    Richard Frank 
    rickfrank at me.com
       
    Sat May 18 16:51:58 EDT 2013
    
    
  
On researching my previous question about how the volume rendering is made lower resolution during rotation,
I did some tracing of the code, and found what I believe is a problem related to a Macro.
This is the section of code that determines whether the sampling  distance is computed on the fly for the GPURenderMode:
case vtkSmartVolumeMapper::GPURenderMode:
    ...
      usedMapper->SetAutoAdjustSampleDistances(
        ren->GetRenderWindow()->GetDesiredUpdateRate()>=
        this->InteractiveUpdateRate);
      usedMapper->Render(ren, vol);
      break;
 
Here it seems that SetAutoAdjustSampleDistance(int) if passed 0 will turn off auto adjusting sampling distance.
If I look at 
ren->GetRenderWindow()->GetDesiredUpdateRate() it is equal to 0.0001;
this->InteractiveUpdateRate == 1.0;
so, GetDesiredUpdateRate is not greater than or equal to InteractiveUpdateRate,
and so SetAutoAdjustSampleDistances() should be passed 0 (or false) and turned off.
But it's not.
SetAutoAdjustSampleDistance is defined as some macros
/ Description:
  // If AutoAdjustSampleDistances is on, the the ImageSampleDistance
  // will be varied to achieve the allocated render time of this
  // prop (controlled by the desired update rate and any culling in
  // use).
  vtkSetClampMacro( AutoAdjustSampleDistances, int, 0, 1 );
  vtkGetMacro( AutoAdjustSampleDistances, int );
  vtkBooleanMacro( AutoAdjustSampleDistances, int );
if I change the code to 
int val = ren->GetRenderWindow()->GetDesiredUpdateRate()>=
        this->InteractiveUpdateRate; 
usedMapper->SetAutoAdjustSampleDistances(val);
val is 0 and still doesn't turn it off.
HOWEVER if I change the code to 
usedMapper->SetAutoAdjustSampleDistances(0); 
IT WORKS - the Auto Adjustment is off and I get smooth rotations.
Seems odd to me, and perhaps a bug with the macro definition?
I'm using Windows Visual Studio 7, but we also see this on Ubuntu Linux with gcc 
Can someone verify?
Thanks
Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20130518/7399d8f6/attachment.htm>
    
    
More information about the vtkusers
mailing list