|
VTK
9.5.20251029
|
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.