VTK
dox
Rendering
OpenGL2
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
49
class
vtkOpenGLRenderWindow
;
50
class
vtkOpenGLVertexArrayObject
;
51
class
vtkShaderProgram
;
52
53
// Helper class to render full screen quads
54
class
VTKRENDERINGOPENGL2_EXPORT
vtkOpenGLQuadHelper
55
{
56
public
:
57
vtkShaderProgram
*
Program
;
58
vtkTimeStamp
ShaderSourceTime
;
59
vtkOpenGLVertexArrayObject
*
VAO
;
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
67
vtkOpenGLQuadHelper
(
vtkOpenGLRenderWindow
*,
68
const
char
*vs,
const
char
*fs,
const
char
*gs);
69
70
~vtkOpenGLQuadHelper
();
71
72
// Draw the Quad, will bind the VAO for you
73
void
Render
();
74
75
private
:
76
vtkOpenGLQuadHelper
(
const
vtkOpenGLQuadHelper
&) =
delete
;
77
vtkOpenGLQuadHelper
& operator=(
const
vtkOpenGLQuadHelper
&) =
delete
;
78
};
79
80
#endif // vtkOpenGLQuadHelper_h
81
82
// VTK-HeaderTest-Exclude: vtkOpenGLQuadHelper.h
vtkTimeStamp.h
vtkOpenGLQuadHelper::ShaderSourceTime
vtkTimeStamp ShaderSourceTime
Definition:
vtkOpenGLQuadHelper.h:58
vtkOpenGLQuadHelper::VAO
vtkOpenGLVertexArrayObject * VAO
Definition:
vtkOpenGLQuadHelper.h:59
vtkTimeStamp
record modification and/or execution time
Definition:
vtkTimeStamp.h:36
vtkOpenGLQuadHelper
Class to make rendering a full screen quad easier.
Definition:
vtkOpenGLQuadHelper.h:55
vtkShaderProgram
The ShaderProgram uses one or more Shader objects.
Definition:
vtkShaderProgram.h:48
vtkOpenGLQuadHelper::ShaderChangeValue
unsigned int ShaderChangeValue
Definition:
vtkOpenGLQuadHelper.h:60
vtkOpenGLQuadHelper::Program
vtkShaderProgram * Program
Definition:
vtkOpenGLQuadHelper.h:57
vtkOpenGLQuadHelper::Render
void Render()
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition:
vtkOpenGLRenderWindow.h:54
vtkOpenGLQuadHelper::vtkOpenGLQuadHelper
vtkOpenGLQuadHelper(vtkOpenGLRenderWindow *, const char *vs, const char *fs, const char *gs)
vtkOpenGLVertexArrayObject
The VertexArrayObject class uses, or emulates, vertex array objects.
Definition:
vtkOpenGLVertexArrayObject.h:37
vtkOpenGLQuadHelper::~vtkOpenGLQuadHelper
~vtkOpenGLQuadHelper()
Generated by
1.8.20