VTK
vtkOpenGLQuadHelper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4 
5  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
6  All rights reserved.
7  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 
13 =========================================================================*/
43 #ifndef vtkOpenGLQuadHelper_h
44 #define vtkOpenGLQuadHelper_h
45 
46 #include "vtkRenderingOpenGL2Module.h" // for export macro
47 #include "vtkTimeStamp.h"
48 
51 class vtkShaderProgram;
52 
53 // Helper class to render full screen quads
54 class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLQuadHelper
55 {
56 public:
60  unsigned int ShaderChangeValue;
61 
62  // create a quadhelper with the provided shaders
63  // if the vertex is nullptr
64  // then the default is used. Note that this
65  // class should be destroyed upon
66  // ReleaseGraphicsResources
68  const char *vs, const char *fs, const char *gs);
69 
71 
72  // Draw the Quad, will bind the VAO for you
73  void Render();
74 
75  private:
77  vtkOpenGLQuadHelper& operator=(const vtkOpenGLQuadHelper&) = delete;
78 };
79 
80 #endif // vtkOpenGLQuadHelper_h
81 
82 // VTK-HeaderTest-Exclude: vtkOpenGLQuadHelper.h
OpenGL rendering window.
record modification and/or execution time
Definition: vtkTimeStamp.h:35
The VertexArrayObject class uses, or emulates, vertex array objects.
unsigned int ShaderChangeValue
Class to make rendering a full screen quad easier.
vtkOpenGLVertexArrayObject * VAO
vtkShaderProgram * Program
vtkTimeStamp ShaderSourceTime
The ShaderProgram uses one or more Shader objects.