23 #ifndef vtkOpenGLFluidMapper_h 24 #define vtkOpenGLFluidMapper_h 29 #include "vtkRenderingOpenGL2Module.h" 64 vtkSetMacro(ScalarVisibility,
bool);
65 vtkGetMacro(ScalarVisibility,
bool);
66 vtkBooleanMacro(ScalarVisibility,
bool);
77 vtkSetMacro(ParticleRadius,
float);
78 vtkGetMacro(ParticleRadius,
float);
88 vtkSetMacro(SurfaceFilterIterations, uint32_t);
89 vtkGetMacro(SurfaceFilterIterations, uint32_t);
97 vtkSetMacro(ThicknessAndVolumeColorFilterIterations, uint32_t);
98 vtkGetMacro(ThicknessAndVolumeColorFilterIterations, uint32_t);
109 vtkSetMacro(SurfaceFilterRadius, uint32_t);
110 vtkGetMacro(SurfaceFilterRadius, uint32_t);
118 vtkSetMacro(ThicknessAndVolumeColorFilterRadius,
float);
119 vtkGetMacro(ThicknessAndVolumeColorFilterRadius,
float);
127 BilateralGaussian = 0,
148 this->NRFilterLambda = lambda;
149 this->NRFilterMu = mu;
158 this->BiGaussFilterSigmaDepth = sigmaDepth;
166 UnfilteredOpaqueSurface = 0,
188 vtkSetVector3Macro(AttenuationColor,
float);
189 vtkGetVector3Macro(AttenuationColor,
float);
197 vtkSetVector3Macro(OpaqueColor,
float);
198 vtkGetVector3Macro(OpaqueColor,
float);
208 vtkSetMacro(ParticleColorPower,
float);
209 vtkGetMacro(ParticleColorPower,
float);
219 vtkSetMacro(ParticleColorScale,
float);
220 vtkGetMacro(ParticleColorScale,
float);
230 vtkSetMacro(AttenuationScale,
float);
231 vtkGetMacro(AttenuationScale,
float);
241 vtkSetMacro(AdditionalReflection,
float);
242 vtkGetMacro(AdditionalReflection,
float);
252 vtkSetMacro(RefractionScale,
float);
253 vtkGetMacro(RefractionScale,
float);
260 vtkSetMacro(RefractiveIndex,
float);
261 vtkGetMacro(RefractiveIndex,
float);
283 void UpdateDepthThicknessColorShaders(
289 void SetDepthThicknessColorShaderParameters(
304 float ParticleRadius = 1.0f;
307 uint32_t SurfaceFilterIterations = 3u;
308 uint32_t SurfaceFilterRadius = 5u;
309 float NRFilterLambda = 10.0f;
310 float NRFilterMu = 1.0f;
311 float BiGaussFilterSigmaDepth = 10.0f;
313 uint32_t ThicknessAndVolumeColorFilterIterations = 3u;
314 uint32_t ThicknessAndVolumeColorFilterRadius = 10u;
318 float OpaqueColor[3]{ 0.0f, 0.0f, 0.95f };
319 float AttenuationColor[3]{ 0.5f, 0.2f, 0.05f };
320 float ParticleColorPower = 0.1f;
321 float ParticleColorScale = 1.0f;
322 float AttenuationScale = 1.0f;
323 float AdditionalReflection = 0.0f;
324 float RefractionScale = 1.0f;
325 float RefractiveIndex = 1.33f;
327 bool ScalarVisibility =
false;
328 bool InDepthPass =
true;
333 bool HasVertexColor =
false;
386 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)