8#ifndef vtkSurfaceLICHelper_h 
    9#define vtkSurfaceLICHelper_h 
   13#include "vtkRenderingLICOpenGL2Module.h"  
   21VTK_ABI_NAMESPACE_BEGIN
 
   87    tcoords[0] = tcoords[2] = 0.0f;
 
   88    tcoords[1] = tcoords[3] = 1.0f;
 
  115    quadpts[0] = quadpts[2] = 0.0f;
 
  116    quadpts[1] = quadpts[3] = 1.0f;
 
  127    tcoords[0] = tcoords[2] = 0.0f;
 
  128    tcoords[1] = tcoords[3] = 1.0f;
 
  141  inline int idx(
int row, 
int col) { 
return 4 * col + row; }
 
represents an object (geometry & properties) in a rendered scene
 
general representation of visualization data
 
topologically and geometrically regular array of data
 
GPU-based implementation of Line Integral Convolution (LIC)
 
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.
 
int * GetData()
Direct access to internal data.
 
abstract specification for renderers
 
Hold a reference to a vtkObjectBase instance.
 
This class decomposes the image space and shuffles image space data onto the new decomposition with t...
 
A small collection of noise routines for LIC.
 
void AllocateTextures(vtkOpenGLRenderWindow *context, int *viewsize)
Allocate textures.
 
int ProjectBounds(vtkRenderer *ren, vtkActor *actor, vtkDataObject *dobj, int viewsize[2], vtkPixelExtent &dataExt, std::deque< vtkPixelExtent > &blockExts)
Compute screen space extents for each block in the input dataset and for the entire dataset.
 
void Updated()
After LIC has been computed reset/clean internal state.
 
void AllocateDepthTexture(vtkOpenGLRenderWindow *context, int *viewsize, vtkSmartPointer< vtkTextureObject > &tex)
Allocate a size texture, store in the given smart pointer.
 
vtkOpenGLHelper * ColorPass
 
void ReleaseGraphicsResources(vtkWindow *win)
Free textures and shader programs we're holding a reference to.
 
bool ProjectBounds(double PMV[16], int viewsize[2], double bounds[6], vtkPixelExtent &screenExt)
Given world space bounds, compute bounding boxes in clip and normalized device coordinates and perfor...
 
vtkSmartPointer< vtkSurfaceLICComposite > Compositor
 
vtkSmartPointer< vtkTextureObject > RGBColorImage
 
vtkSmartPointer< vtkTextureObject > MaskVectorImage
 
static bool IsSupported(vtkOpenGLRenderWindow *context)
Check for OpenGL support.
 
vtkSmartPointer< vtkTextureObject > LICImage
 
void ViewQuadTextureCoords(GLfloat *tcoords)
Convert the entire view to a bounding box and it's texture coordinates for a screen size texture.
 
vtkWeakPointer< vtkOpenGLRenderWindow > Context
 
vtkSmartPointer< vtkImageData > Noise
 
int idx(int row, int col)
Compute the index into the 4x4 OpenGL ordered matrix.
 
std::deque< vtkPixelExtent > BlockExts
 
void ViewportQuadPoints(const vtkPixelExtent &viewportExt, GLfloat *quadpts)
Convert a viewport to a bounding box and it's texture coordinates for a screen size texture.
 
void ClearTextures()
Free textures we're holding a reference to.
 
void ViewportQuadTextureCoords(GLfloat *tcoords)
Convert viewport to texture coordinates.
 
vtkSmartPointer< vtkLineIntegralConvolution2D > LICer
 
vtkSmartPointer< vtkTextureObject > HSLColorImage
 
vtkPixelExtent DataSetExt
 
void GetPixelBounds(float *rgba, int ni, vtkPixelExtent &ext)
Shrink an extent to tightly bound non-zero values.
 
void AllocateTexture(vtkOpenGLRenderWindow *context, int *viewsize, vtkSmartPointer< vtkTextureObject > &tex, int filter=vtkTextureObject::Nearest)
Allocate a size texture, store in the given smart pointer.
 
vtkOpenGLHelper * ColorEnhancePass
 
vtkSmartPointer< vtkOpenGLFramebufferObject > FBO
 
vtkSmartPointer< vtkTextureObject > CompositeMaskVectorImage
 
void GetPixelBounds(float *rgba, int ni, std::deque< vtkPixelExtent > &blockExts)
Shrink a set of extents to tightly bound non-zero values cull extent if it's empty.
 
vtkSmartPointer< vtkTextureObject > NoiseImage
 
bool CommunicatorNeedsUpdate
 
vtkOpenGLHelper * CopyPass
 
void RenderQuad(const vtkPixelExtent &viewExt, const vtkPixelExtent &viewportExt, vtkOpenGLHelper *cbo)
Render a quad (to trigger a shader to run)
 
vtkSmartPointer< vtkTextureObject > VectorImage
 
static void StreamingFindMinMax(vtkOpenGLFramebufferObject *fbo, std::deque< vtkPixelExtent > &blockExts, float &min, float &max)
 
void ViewportQuadTextureCoords(const vtkPixelExtent &viewExt, const vtkPixelExtent &viewportExt, GLfloat *tcoords)
Convert a viewport to a bounding box and it's texture coordinates for a screen size texture.
 
void UpdateAll()
Force all stages to re-execute.
 
vtkSmartPointer< vtkTextureObject > DepthImage
 
vtkPainterCommunicator * Communicator
 
void ViewQuadPoints(GLfloat *quadpts)
Convert the entire view to a bounding box and it's texture coordinates for a screen size texture.
 
vtkSmartPointer< vtkTextureObject > CompositeVectorImage
 
vtkSmartPointer< vtkTextureObject > GeometryImage
 
bool VisibilityTest(double ndcBBox[24])
given a axes aligned bounding box in normalized device coordinates test for view frustum visibility.
 
a weak reference to a vtkObject.
 
window superclass for vtkRenderWindow