24 #ifndef vtkGPUVolumeRayCastMapper_h 25 #define vtkGPUVolumeRayCastMapper_h 27 #include <vtkRenderingVolumeModule.h> 51 vtkSetClampMacro( AutoAdjustSampleDistances,
int, 0, 1 );
52 vtkGetMacro( AutoAdjustSampleDistances,
int );
62 vtkSetClampMacro( LockSampleDistanceToInputSpacing,
int, 0, 1 );
63 vtkGetMacro( LockSampleDistanceToInputSpacing,
int );
73 vtkSetClampMacro( UseJittering,
int, 0, 1 );
74 vtkGetMacro( UseJittering,
int );
87 vtkSetClampMacro( UseDepthPass,
int, 0, 1 );
88 vtkGetMacro( UseDepthPass,
int );
107 vtkGetMacro( SampleDistance,
float );
118 vtkSetClampMacro( ImageSampleDistance,
float, 0.1f, 100.0f );
119 vtkGetMacro( ImageSampleDistance,
float );
127 vtkSetClampMacro( MinimumImageSampleDistance,
float, 0.1f, 100.0f );
128 vtkGetMacro( MinimumImageSampleDistance,
float );
136 vtkSetClampMacro( MaximumImageSampleDistance,
float, 0.1f, 100.0f );
137 vtkGetMacro( MaximumImageSampleDistance,
float );
156 vtkGetMacro( FinalColorWindow,
float );
158 vtkGetMacro( FinalColorLevel,
float );
168 vtkGetMacro( MaxMemoryInBytes,
vtkIdType );
177 vtkSetClampMacro( MaxMemoryFraction,
float, 0.1f, 1.0f );
178 vtkGetMacro( MaxMemoryFraction,
float );
191 vtkGetMacro(ReportProgress,
bool);
210 double viewDirection[3],
239 enum { BinaryMaskType = 0, LabelMapMaskType };
247 vtkGetMacro( MaskType,
int );
248 void SetMaskTypeToBinary();
249 void SetMaskTypeToLabelMap();
261 vtkSetClampMacro(MaskBlendFactor,
float,0.0f,1.0f);
262 vtkGetMacro(MaskBlendFactor,
float);
281 vtkGetMacro(RenderToImage,
int);
292 vtkGetMacro(DepthImageScalarType,
int);
293 void SetDepthImageScalarTypeToUnsignedChar();
294 void SetDepthImageScalarTypeToUnsignedShort();
295 void SetDepthImageScalarTypeToFloat();
311 vtkGetMacro(ClampDepthToBackface,
int);
363 virtual void GetReductionRatio(
double ratio[3])=0;
380 double datasetBounds[6],
381 double scalarRange[2],
382 int numberOfScalarComponents,
383 unsigned int numberOfLevels)=0;
388 unsigned int level)=0;
391 int numberOfScalarComponents)=0;
398 void SetCellFlag(
int cellFlag);
400 int LockSampleDistanceToInputSpacing;
401 int AutoAdjustSampleDistances;
402 float ImageSampleDistance;
403 float MinimumImageSampleDistance;
404 float MaximumImageSampleDistance;
410 int DepthImageScalarType;
414 int ClampDepthToBackface;
424 float SampleDistance;
426 int SmallVolumeRender;
427 double BigTimeToDraw;
428 double SmallTimeToDraw;
430 float FinalColorWindow;
431 float FinalColorLevel;
434 int GeneratingCanonicalView;
442 vtkSetClampMacro(AMRMode,
int,0,1);
443 vtkGetMacro(AMRMode,
int);
448 float MaskBlendFactor;
468 virtual
void ClipCroppingRegionPlanes();
470 double ClippedCroppingRegionPlanes[6];
473 float MaxMemoryFraction;
virtual void GPURender(vtkRenderer *, vtkVolume *)
Handled in the subclass - the actual render method.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
helper object to manage setting and generating contour values
represents a volume (data & properties) in a rendered scene
Abstract class for a volume mapper.
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
void Render(vtkRenderer *ren, vtkVolume *vol) override=0
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
window superclass for vtkRenderWindow
a simple class to control print indentation
topologically and geometrically regular array of data
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
static vtkAlgorithm * New()
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Ray casting performed on the GPU.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.