Go to the documentation of this file.
20 #ifndef vtkSurfaceLICHelper_h
21 #define vtkSurfaceLICHelper_h
24 #include "vtkRenderingLICOpenGL2Module.h"
106 tcoords[0] = tcoords[2] = 0.0f;
107 tcoords[1] = tcoords[3] = 1.0f;
136 quadpts[0] = quadpts[2] = 0.0f;
137 quadpts[1] = quadpts[3] = 1.0f;
148 tcoords[0] = tcoords[2] = 0.0f;
149 tcoords[1] = tcoords[3] = 1.0f;
164 inline int idx(
int row,
int col) {
return 4*col+row; }
203 std::deque<vtkPixelExtent> &blockExts);
214 void GetPixelBounds(
float *rgba,
int ni, std::deque<vtkPixelExtent> &blockExts);
218 std::deque<vtkPixelExtent> &blockExts,
219 float &min,
float &
max);
int idx(int row, int col)
Compute the index into the 4x4 OpenGL ordered matrix.
bool VisibilityTest(double ndcBBox[24])
given a axes aligned bounding box in normalized device coordinates test for view frustum visibility.
vtkSmartPointer< vtkTextureObject > MaskVectorImage
vtkSmartPointer< vtkTextureObject > LICImage
void AllocateDepthTexture(vtkOpenGLRenderWindow *context, int *viewsize, vtkSmartPointer< vtkTextureObject > &tex)
Allocate a size texture, store in the given smart pointer.
void ViewQuadTextureCoords(GLfloat *tcoords)
Convert the entire view to a bounding box and it's texture coordinates for a screen size texture.
void ViewportQuadPoints(const vtkPixelExtent &viewportExt, GLfloat *quadpts)
Convert a viewport to a bounding box and it's texture coordinates for a screen size texture.
static bool IsSupported(vtkOpenGLRenderWindow *context)
Check for OpenGL support.
Internal class which encapsulates OpenGL FramebufferObject.
void ClearTextures()
Free textures we're holding a reference to.
vtkSmartPointer< vtkSurfaceLICComposite > Compositor
vtkOpenGLHelper * ColorEnhancePass
vtkPainterCommunicator * Communicator
vtkSmartPointer< vtkImageData > Noise
window superclass for vtkRenderWindow
void UpdateAll()
Force all stages to re-execute.
void ViewportQuadTextureCoords(GLfloat *tcoords)
Convert viewport to texture coordinates.
vtkSmartPointer< vtkTextureObject > GeometryImage
vtkOpenGLHelper * ColorPass
std::deque< vtkPixelExtent > BlockExts
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...
int * GetData()
Direct access to internal data.
represents an object (geometry & properties) in a rendered scene
topologically and geometrically regular array of data
void Updated()
After LIC has been computed reset/clean internal state.
void AllocateTexture(vtkOpenGLRenderWindow *context, int *viewsize, vtkSmartPointer< vtkTextureObject > &tex, int filter=vtkTextureObject::Nearest)
Allocate a size texture, store in the given smart pointer.
void GetPixelBounds(float *rgba, int ni, vtkPixelExtent &ext)
Shrink an extent to tightly bound non-zero values.
vtkSmartPointer< vtkTextureObject > CompositeVectorImage
vtkPixelExtent DataSetExt
bool CommunicatorNeedsUpdate
vtkSmartPointer< vtkTextureObject > NoiseImage
vtkWeakPointer< vtkOpenGLRenderWindow > Context
void ViewQuadPoints(GLfloat *quadpts)
Convert the entire view to a bounding box and it's texture coordinates for a screen size texture.
vtkSmartPointer< vtkTextureObject > HSLColorImage
void AllocateTextures(vtkOpenGLRenderWindow *context, int *viewsize)
Allocate textures.
A communicator that can safely be used inside a painter.
vtkSmartPointer< vtkOpenGLFramebufferObject > FBO
vtkSmartPointer< vtkTextureObject > DepthImage
void ReleaseGraphicsResources(vtkWindow *win)
Free textures and shader programs we're holding a reference to.
vtkOpenGLHelper * CopyPass
GPU-based implementation of Line Integral Convolution (LIC)
abstract specification for renderers
vtkSmartPointer< vtkTextureObject > VectorImage
static void StreamingFindMinMax(vtkOpenGLFramebufferObject *fbo, std::deque< vtkPixelExtent > &blockExts, float &min, float &max)
vtkSmartPointer< vtkTextureObject > RGBColorImage
general representation of visualization data
vtkSmartPointer< vtkTextureObject > CompositeMaskVectorImage
void RenderQuad(const vtkPixelExtent &viewExt, const vtkPixelExtent &viewportExt, vtkOpenGLHelper *cbo)
Render a quad (to trigger a shader to run)
vtkSmartPointer< vtkLineIntegralConvolution2D > LICer