64 #ifndef vtkSmartVolumeMapper_h
65 #define vtkSmartVolumeMapper_h
68 #include "vtkRenderingVolumeOpenGL2Module.h"
72 VTK_ABI_NAMESPACE_BEGIN
102 vtkSetMacro(FinalColorWindow,
float);
109 vtkGetMacro(FinalColorWindow,
float);
120 vtkSetMacro(FinalColorLevel,
float);
127 vtkGetMacro(FinalColorLevel,
float);
133 DefaultRenderMode = 0,
134 RayCastRenderMode = 1,
136 OSPRayRenderMode = 3,
138 UndefinedRenderMode = 5,
139 InvalidRenderMode = 6
146 void SetRequestedRenderMode(
int mode);
153 void SetRequestedRenderModeToDefault();
160 void SetRequestedRenderModeToRayCast();
167 void SetRequestedRenderModeToGPU();
173 void SetRequestedRenderModeToOSPRay();
179 void SetRequestedRenderModeToAnari();
185 vtkGetMacro(RequestedRenderMode,
int);
192 int GetLastUsedRenderMode();
202 vtkSetMacro(MaxMemoryInBytes,
vtkIdType);
203 vtkGetMacro(MaxMemoryInBytes,
vtkIdType);
213 vtkSetClampMacro(MaxMemoryFraction,
float, 0.1f, 1.0f);
214 vtkGetMacro(MaxMemoryFraction,
float);
223 vtkGetMacro(InterpolationMode,
int);
224 void SetInterpolationModeToNearestNeighbor();
225 void SetInterpolationModeToLinear();
226 void SetInterpolationModeToCubic();
255 vtkSetClampMacro(InteractiveUpdateRate,
double, 1.0e-10, 1.0e10);
264 vtkGetMacro(InteractiveUpdateRate,
double);
276 vtkSetClampMacro(InteractiveAdjustSampleDistances,
vtkTypeBool, 0, 1);
277 vtkGetMacro(InteractiveAdjustSampleDistances,
vtkTypeBool);
278 vtkBooleanMacro(InteractiveAdjustSampleDistances,
vtkTypeBool);
291 vtkSetClampMacro(AutoAdjustSampleDistances,
vtkTypeBool, 0, 1);
292 vtkGetMacro(AutoAdjustSampleDistances,
vtkTypeBool);
293 vtkBooleanMacro(AutoAdjustSampleDistances,
vtkTypeBool);
304 vtkSetMacro(SampleDistance,
float);
305 vtkGetMacro(SampleDistance,
float);
315 vtkSetClampMacro(GlobalIlluminationReach,
float, 0.0f, 1.0f);
316 vtkGetMacro(GlobalIlluminationReach,
float);
326 vtkSetClampMacro(VolumetricScatteringBlending,
float, 0.0f, 2.0f);
327 vtkGetMacro(VolumetricScatteringBlending,
float);
359 void SetVectorMode(
int mode);
360 vtkGetMacro(VectorMode,
int);
362 vtkSetClampMacro(VectorComponent,
int, 0, 3);
363 vtkGetMacro(VectorComponent,
int);
370 vtkSetStringMacro(Transfer2DYAxisArray);
371 vtkGetStringMacro(Transfer2DYAxisArray);
384 LowResModeDisabled = 0,
385 LowResModeResample = 1,
388 vtkSetMacro(LowResMode,
int);
389 vtkGetMacro(LowResMode,
int)
394 ~vtkSmartVolumeMapper() override;
414 float FinalColorWindow;
415 float FinalColorLevel;
423 float MaxMemoryFraction;
429 int InterpolationMode;
437 int RequestedRenderMode;
438 int CurrentRenderMode;
448 int RayCastSupported;
449 int LowResGPUNecessary;
494 vtkGPUVolumeRayCastMapper* GPULowResMapper;
495 vtkGPUVolumeRayCastMapper* GPUMapper;
504 int InitializedBlendMode;
514 float SampleDistance;
519 float GlobalIlluminationReach = 0.0;
524 float VolumetricScatteringBlending = 0.0;
537 double InteractiveUpdateRate;
575 char* Transfer2DYAxisArray;
577 int LowResMode = LowResModeDisabled;
595 vtkSmartVolumeMapper(const vtkSmartVolumeMapper&) = delete;
596 void operator=(const vtkSmartVolumeMapper&) = delete;
602 VTK_ABI_NAMESPACE_END
Removes link dependence on optional ANARI module.
represents a volume (data & properties) in a rendered scene
#define VTK_RESLICE_NEAREST
Abstract class for a volume mapper.
#define VTK_RESLICE_CUBIC
abstract class to specify dataset behavior
LowResModeType
LowResDisable disables low res mode (default) LowResResample enable low res mode by automatically res...
record modification and/or execution time
Resamples an image to be larger or smaller.
abstract specification for renderers
Mapper to render volumes defined as vtkMultiBlockDataSet.
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
VectorModeType
VectorMode is a special rendering mode for 3-component vectors which makes use of GPURayCastMapper's ...
a simple class to control print indentation
topologically and geometrically regular array of data
abstract superclass for arrays of numeric data
represents the common properties for rendering a volume.
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
A fixed point mapper for volumes.
create a window for renderers to draw into
Removes link dependence on optional ospray module.
static vtkAlgorithm * New()
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.