VTK
9.4.20241121
|
Class to make rendering a full screen quad easier. More...
#include <vtkOpenGLQuadHelper.h>
Public Member Functions | |
vtkOpenGLQuadHelper (vtkOpenGLRenderWindow *, const char *vs, const char *fs, const char *gs, bool flipY=false) | |
Create a quadhelper with the provided shaders. | |
~vtkOpenGLQuadHelper () | |
void | Render () |
void | ReleaseGraphicsResources (vtkWindow *) |
Release graphics resources. | |
Public Attributes | |
vtkShaderProgram * | Program |
vtkTimeStamp | ShaderSourceTime |
vtkOpenGLVertexArrayObject * | VAO |
unsigned int | ShaderChangeValue |
Class to make rendering a full screen quad easier.
vtkOpenGLQuadHelper is designed to be used by classes in VTK that need to render a quad to the screen with a shader program. This happens often with render passes or other advanced rendering techniques.
Note that when releasing graphics resources instances of this class should be destroyed. A common use pattern is to conditionally create the instance where used and delete it in ReleaseGraphicsResources and the destructor.
It is possible to flip the Y direction of the quad texture coordinate by turning on the flipY option in the constructor. This can be useful when rendering in an external context having a different convention than OpenGL e.g. OpenGL-D3D shared textures. Off by default if unspecified.
Example usage:
Definition at line 52 of file vtkOpenGLQuadHelper.h.
vtkOpenGLQuadHelper::vtkOpenGLQuadHelper | ( | vtkOpenGLRenderWindow * | , |
const char * | vs, | ||
const char * | fs, | ||
const char * | gs, | ||
bool | flipY = false |
||
) |
Create a quadhelper with the provided shaders.
If the vertex is nullptr then the default is used. Turning on the flipY option reverts the y component of the quad texture coordinates in order to flip the rendered texture. Note that this class should be destroyed upon ReleaseGraphicsResources.
vtkOpenGLQuadHelper::~vtkOpenGLQuadHelper | ( | ) |
void vtkOpenGLQuadHelper::Render | ( | ) |
void vtkOpenGLQuadHelper::ReleaseGraphicsResources | ( | vtkWindow * | ) |
Release graphics resources.
In general, there's no need to call this explicitly, since vtkOpenGLQuadHelper will invoke it appropriately when needed.
vtkShaderProgram* vtkOpenGLQuadHelper::Program |
Definition at line 55 of file vtkOpenGLQuadHelper.h.
vtkTimeStamp vtkOpenGLQuadHelper::ShaderSourceTime |
Definition at line 56 of file vtkOpenGLQuadHelper.h.
vtkOpenGLVertexArrayObject* vtkOpenGLQuadHelper::VAO |
Definition at line 57 of file vtkOpenGLQuadHelper.h.
unsigned int vtkOpenGLQuadHelper::ShaderChangeValue |
Definition at line 58 of file vtkOpenGLQuadHelper.h.