27 #ifndef vtkGPUVolumeRayCastMapper_h
28 #define vtkGPUVolumeRayCastMapper_h
30 #include <vtkRenderingVolumeModule.h>
54 vtkSetClampMacro( AutoAdjustSampleDistances,
int, 0, 1 );
55 vtkGetMacro( AutoAdjustSampleDistances,
int );
65 vtkSetClampMacro( LockSampleDistanceToInputSpacing,
int, 0, 1 );
66 vtkGetMacro( LockSampleDistanceToInputSpacing,
int );
76 vtkSetClampMacro( UseJittering,
int, 0, 1 );
77 vtkGetMacro( UseJittering,
int );
90 vtkSetClampMacro( UseDepthPass,
int, 0, 1 );
91 vtkGetMacro( UseDepthPass,
int );
110 vtkGetMacro( SampleDistance,
float );
121 vtkSetClampMacro( ImageSampleDistance,
float, 0.1f, 100.0f );
122 vtkGetMacro( ImageSampleDistance,
float );
130 vtkSetClampMacro( MinimumImageSampleDistance,
float, 0.1f, 100.0f );
131 vtkGetMacro( MinimumImageSampleDistance,
float );
139 vtkSetClampMacro( MaximumImageSampleDistance,
float, 0.1f, 100.0f );
140 vtkGetMacro( MaximumImageSampleDistance,
float );
159 vtkGetMacro( FinalColorWindow,
float );
161 vtkGetMacro( FinalColorLevel,
float );
171 vtkGetMacro( MaxMemoryInBytes,
vtkIdType );
180 vtkSetClampMacro( MaxMemoryFraction,
float, 0.1f, 1.0f );
181 vtkGetMacro( MaxMemoryFraction,
float );
194 vtkGetMacro(ReportProgress,
bool);
213 double viewDirection[3],
242 enum { BinaryMaskType = 0, LabelMapMaskType };
250 vtkGetMacro( MaskType,
int );
251 void SetMaskTypeToBinary();
252 void SetMaskTypeToLabelMap();
264 vtkSetClampMacro(MaskBlendFactor,
float,0.0f,1.0f);
265 vtkGetMacro(MaskBlendFactor,
float);
284 vtkGetMacro(RenderToImage,
int);
295 vtkGetMacro(DepthImageScalarType,
int);
296 void SetDepthImageScalarTypeToUnsignedChar();
297 void SetDepthImageScalarTypeToUnsignedShort();
298 void SetDepthImageScalarTypeToFloat();
314 vtkGetMacro(ClampDepthToBackface,
int);
366 virtual void GetReductionRatio(
double ratio[3])=0;
383 double datasetBounds[6],
384 double scalarRange[2],
385 int numberOfScalarComponents,
386 unsigned int numberOfLevels)=0;
391 unsigned int level)=0;
394 int numberOfScalarComponents)=0;
401 void SetCellFlag(
int cellFlag);
445 vtkSetClampMacro(AMRMode,
int,0,1);
446 vtkGetMacro(AMRMode,
int);
471 virtual void ClipCroppingRegionPlanes();
473 double ClippedCroppingRegionPlanes[6];
virtual void GPURender(vtkRenderer *, vtkVolume *)
Handled in the subclass - the actual render method.
helper object to manage setting and generating contour values
represents a volume (data & properties) in a rendered scene
Abstract class for a volume mapper.
vtkImageData * TransformedInput
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void GetDepthImage(vtkImageData *)
Low level API to export the depth texture as vtkImageData in RenderToImage mode.
virtual void GetColorImage(vtkImageData *)
Low level API to export the color texture as vtkImageData in RenderToImage mode.
abstract specification for renderers
vtkIdType MaxMemoryInBytes
window superclass for vtkRenderWindow
a simple class to control print indentation
float ImageSampleDistance
topologically and geometrically regular array of data
float MaximumImageSampleDistance
vtkContourValues * DepthPassContourValues
virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
represents the common properties for rendering a volume.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual int IsRenderSupported(vtkRenderWindow *vtkNotUsed(window), vtkVolumeProperty *vtkNotUsed(property))
Based on hardware and properties, we may or may not be able to render using 3D texture mapping...
create a window for renderers to draw into
int GeneratingCanonicalView
float MinimumImageSampleDistance
void ReleaseGraphicsResources(vtkWindow *)
Release any graphics resources that are being consumed by this mapper.
static vtkAlgorithm * New()
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkImageData * LastInput
This is needed only to check if the input data has been changed since the last Render() call...
int LockSampleDistanceToInputSpacing
Ray casting performed on the GPU.
vtkImageData * CanonicalViewImageData
int AutoAdjustSampleDistances