80#ifndef vtkLineIntegralConvolution2D_h 
   81#define vtkLineIntegralConvolution2D_h 
   84#include "vtkRenderingLICOpenGL2Module.h"  
   88VTK_ABI_NAMESPACE_BEGIN
 
  125  vtkSetClampMacro(EnhancedLIC, 
int, 0, 1);
 
  126  vtkGetMacro(EnhancedLIC, 
int);
 
  127  vtkBooleanMacro(EnhancedLIC, 
int);
 
  154    ENHANCE_CONTRAST_OFF = 0,
 
  155    ENHANCE_CONTRAST_ON = 1
 
  157  vtkSetClampMacro(EnhanceContrast, 
int, 0, 2);
 
  158  vtkGetMacro(EnhanceContrast, 
int);
 
  159  vtkBooleanMacro(EnhanceContrast, 
int);
 
  180  vtkSetClampMacro(LowContrastEnhancementFactor, 
double, 0.0, 1.0);
 
  181  vtkGetMacro(LowContrastEnhancementFactor, 
double);
 
  182  vtkSetClampMacro(HighContrastEnhancementFactor, 
double, 0.0, 1.0);
 
  183  vtkGetMacro(HighContrastEnhancementFactor, 
double);
 
  194  vtkGetMacro(AntiAlias, 
int);
 
  195  vtkBooleanMacro(AntiAlias, 
int);
 
  204  vtkGetMacro(NumberOfSteps, 
int);
 
  216  vtkGetMacro(StepSize, 
double);
 
  227  vtkGetVector2Macro(ComponentIds, 
int);
 
  236  vtkSetClampMacro(MaxNoiseValue, 
double, 0.0, 1.0);
 
  237  vtkGetMacro(MaxNoiseValue, 
double);
 
  248  vtkGetMacro(TransformVectors, 
int);
 
  273  vtkGetMacro(NormalizeVectors, 
int);
 
  287  vtkGetMacro(MaskThreshold, 
double);
 
  314    const std::deque<vtkPixelExtent>& vectorExtent, 
const std::deque<vtkPixelExtent>& licExtent,
 
a simple class to control print indentation
 
GPU-based implementation of Line Integral Convolution (LIC)
 
vtkOpenGLHelper * CEShader
 
vtkWeakPointer< vtkOpenGLRenderWindow > Context
 
vtkTextureObject * Execute(const vtkPixelExtent &inputTexExtent, const std::deque< vtkPixelExtent > &vectorExtent, const std::deque< vtkPixelExtent > &licExtent, vtkTextureObject *vectorTex, vtkTextureObject *maskVectorTex, vtkTextureObject *noiseTex)
Compute LIC over the desired subset of the input texture.
 
vtkOpenGLHelper * LICIShader
 
void SetAAHShader(vtkShaderProgram *prog)
 
vtkTextureObject * AllocateBuffer(unsigned int texSize[2])
 
vtkOpenGLHelper * VTShader
 
virtual void WriteTimerLog(const char *)
Methods used for parallel benchmarks.
 
vtkOpenGLHelper * IntermediateBlendProgram
 
vtkOpenGLHelper * LIC0Shader
 
void SetLIC0Shader(vtkShaderProgram *prog)
 
vtkOpenGLHelper * FinalBlendProgram
 
vtkPainterCommunicator * Comm
 
~vtkLineIntegralConvolution2D() override
 
vtkOpenGLHelper * AAVShader
 
static void SetVectorTexParameters(vtkTextureObject *vectors)
Convenience functions to ensure that the input textures are configured correctly.
 
void SetCEShader(vtkShaderProgram *prog)
 
void SetLICNShader(vtkShaderProgram *prog)
 
void SetContext(vtkOpenGLRenderWindow *context)
Set/Get the rendering context.
 
void SetNoise2TexParameters(vtkTextureObject *noise)
Convenience functions to ensure that the input textures are configured correctly.
 
void SetComponentIds(int c0, int c1)
If VectorField has >= 3 components, we must choose which 2 components form the (X,...
 
virtual vtkPainterCommunicator * GetCommunicator()
 
virtual void GetGlobalMinMax(vtkPainterCommunicator *, float &, float &)
For parallel operation, find global min/max min/max are in/out.
 
virtual void StartTimerEvent(const char *)
Methods used for parallel benchmarks.
 
void SetVTShader(vtkShaderProgram *prog)
 
void RenderQuad(float computeBounds[4], vtkPixelExtent computeExtent)
 
void SetComponentIds(int c[2])
If VectorField has >= 3 components, we must choose which 2 components form the (X,...
 
int NoiseTextureLookupCompatibilityMode
 
static bool IsSupported(vtkRenderWindow *renWin)
Returns if the context supports the required extensions.
 
static vtkLineIntegralConvolution2D * New()
 
virtual void EndTimerEvent(const char *)
 
void SetAAVShader(vtkShaderProgram *prog)
 
vtkTextureObject * Execute(vtkTextureObject *vectorTex, vtkTextureObject *noiseTex)
Compute the lic on the entire vector field texture.
 
vtkOpenGLHelper * AAHShader
 
vtkTextureObject * Execute(const int extent[4], vtkTextureObject *vectorTex, vtkTextureObject *noiseTex)
Compute the lic on the indicated subset of the vector field texture.
 
vtkOpenGLHelper * LICNShader
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
double LowContrastEnhancementFactor
 
void SetTransformVectors(int val)
This class performs LIC in the normalized image space.
 
vtkOpenGLRenderWindow * GetContext()
Set/Get the rendering context.
 
vtkOpenGLFramebufferObject * FBO
 
virtual void SetCommunicator(vtkPainterCommunicator *)
Set the communicator to use during parallel operation The communicator will not be duplicated or refe...
 
double HighContrastEnhancementFactor
 
static void SetNoiseTexParameters(vtkTextureObject *noise)
 
void SetLICIShader(vtkShaderProgram *prog)
 
vtkLineIntegralConvolution2D()
 
void SetNormalizeVectors(int val)
Set/Get the spacing in each dimension of the plane on which the vector field is defined.
 
void SetEEShader(vtkShaderProgram *prog)
 
vtkOpenGLHelper * EEShader
 
abstract base class for most VTK objects
 
Internal class which encapsulates OpenGL FramebufferObject.
 
A communicator that can safely be used inside a painter.
 
Representation of a cartesian pixel plane and common operations on it.
 
create a window for renderers to draw into
 
The ShaderProgram uses one or more Shader objects.
 
abstracts an OpenGL texture object.
 
a weak reference to a vtkObject.