26 #ifndef vtkOpenGLFluidMapper_h 27 #define vtkOpenGLFluidMapper_h 32 #include "vtkRenderingOpenGL2Module.h" 67 vtkSetMacro(ScalarVisibility,
bool);
68 vtkGetMacro(ScalarVisibility,
bool);
69 vtkBooleanMacro(ScalarVisibility,
bool);
80 vtkSetMacro(ParticleRadius,
float);
81 vtkGetMacro(ParticleRadius,
float);
91 vtkSetMacro(SurfaceFilterIterations, uint32_t);
92 vtkGetMacro(SurfaceFilterIterations, uint32_t);
100 vtkSetMacro(ThicknessAndVolumeColorFilterIterations, uint32_t);
101 vtkGetMacro(ThicknessAndVolumeColorFilterIterations, uint32_t);
112 vtkSetMacro(SurfaceFilterRadius, uint32_t);
113 vtkGetMacro(SurfaceFilterRadius, uint32_t);
121 vtkSetMacro(ThicknessAndVolumeColorFilterRadius,
float);
122 vtkGetMacro(ThicknessAndVolumeColorFilterRadius,
float);
130 BilateralGaussian = 0,
151 this->NRFilterLambda = lambda;
152 this->NRFilterMu = mu;
161 this->BiGaussFilterSigmaDepth = sigmaDepth;
169 UnfilteredOpaqueSurface = 0,
191 vtkSetVector3Macro(AttenuationColor,
float);
192 vtkGetVector3Macro(AttenuationColor,
float);
200 vtkSetVector3Macro(OpaqueColor,
float);
201 vtkGetVector3Macro(OpaqueColor,
float);
211 vtkSetMacro(ParticleColorPower,
float);
212 vtkGetMacro(ParticleColorPower,
float);
222 vtkSetMacro(ParticleColorScale,
float);
223 vtkGetMacro(ParticleColorScale,
float);
233 vtkSetMacro(AttenuationScale,
float);
234 vtkGetMacro(AttenuationScale,
float);
244 vtkSetMacro(AdditionalReflection,
float);
245 vtkGetMacro(AdditionalReflection,
float);
255 vtkSetMacro(RefractionScale,
float);
256 vtkGetMacro(RefractionScale,
float);
263 vtkSetMacro(RefractiveIndex,
float);
264 vtkGetMacro(RefractiveIndex,
float);
286 void UpdateDepthThicknessColorShaders(
292 void SetDepthThicknessColorShaderParameters(
307 float ParticleRadius = 1.0f;
310 uint32_t SurfaceFilterIterations = 3u;
311 uint32_t SurfaceFilterRadius = 5u;
312 float NRFilterLambda = 10.0f;
313 float NRFilterMu = 1.0f;
314 float BiGaussFilterSigmaDepth = 10.0f;
316 uint32_t ThicknessAndVolumeColorFilterIterations = 3u;
317 uint32_t ThicknessAndVolumeColorFilterRadius = 10u;
321 float OpaqueColor[3]{ 0.0f, 0.0f, 0.95f };
322 float AttenuationColor[3]{ 0.5f, 0.2f, 0.05f };
323 float ParticleColorPower = 0.1f;
324 float ParticleColorScale = 1.0f;
325 float AttenuationScale = 1.0f;
326 float AdditionalReflection = 0.0f;
327 float RefractionScale = 1.0f;
328 float RefractiveIndex = 1.33f;
330 bool ScalarVisibility =
false;
331 bool InDepthPass =
true;
336 bool HasVertexColor =
false;
389 NumOptionalTexBuffers
vtkMatrix4x4 * TempMatrix4
FluidDisplayMode
Display mode for the fluid, default value is TransparentFluidVolume.
represents a volume (data & properties) in a rendered scene
FluidSurfaceFilterMethod
Filter method to filter the depth buffer.
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
represent and manipulate 4x4 transformation matrices
vtkSmartPointer< vtkOpenGLFramebufferObject > FBFilterThickness
void SetNarrowRangeFilterParameters(float lambda, float mu)
Optional parameters, exclusively for narrow range filter The first parameter is to control smoothing ...
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...
void SetBilateralGaussianFilterParameter(float sigmaDepth)
Optional parameters, exclusively for bilateral gaussian filter The parameter is for controlling smoot...
record modification and/or execution time
vtkSmartPointer< vtkOpenGLFramebufferObject > FBFilterDepth
Abstract class for a volume mapper.
abstract specification for renderers
concrete dataset represents vertices, lines, polygons, and triangle strips
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOpenGLHelper GLHelperDepthThickness
window superclass for vtkRenderWindow
vtkTypeBool CamParallelProjection
a simple class to control print indentation
vtkMatrix3x3 * CamInvertedNorms
vtkTimeStamp VBOBuildTime
Internal class which encapsulates OpenGL FramebufferObject.
abstracts an OpenGL texture object.
Class to make rendering a full screen quad easier.
vtkSmartPointer< vtkOpenGLFramebufferObject > FBThickness
static vtkAlgorithm * New()
vtkSmartPointer< vtkOpenGLFramebufferObject > FBFluidEyeZ
represent and manipulate 3x3 transformation matrices
vtkSmartPointer< vtkOpenGLFramebufferObject > FBCompNormal
manage vertex buffer objects shared within a mapper
vtkSmartPointer< vtkOpenGLVertexBufferObjectGroup > VBOs
Render fluid from position data (and color, if available)