You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
3 weeks ago
|
/*=========================================================================
|
||
|
|
||
|
Program: Visualization Toolkit
|
||
|
|
||
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
||
|
All rights reserved.
|
||
|
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
|
||
|
|
||
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
||
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||
|
PURPOSE. See the above copyright notice for more information.
|
||
|
|
||
|
=========================================================================*/
|
||
|
|
||
|
#ifndef vtkOpenGLHelper_h
|
||
|
#define vtkOpenGLHelper_h
|
||
|
|
||
|
#include "vtkRenderingOpenGL2Module.h" // for export macro
|
||
|
#include "vtkTimeStamp.h"
|
||
|
|
||
|
class vtkOpenGLIndexBufferObject;
|
||
|
class vtkOpenGLShaderCache;
|
||
|
class vtkOpenGLVertexArrayObject;
|
||
|
class vtkShaderProgram;
|
||
|
class vtkWindow;
|
||
|
|
||
|
// Store the shaders, program, and ibo in a common place
|
||
|
// as they are used together frequently. This is just
|
||
|
// a convenience class.
|
||
|
class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLHelper
|
||
|
{
|
||
|
public:
|
||
|
vtkShaderProgram* Program;
|
||
|
vtkTimeStamp ShaderSourceTime;
|
||
|
vtkOpenGLVertexArrayObject* VAO;
|
||
|
vtkTimeStamp AttributeUpdateTime;
|
||
|
int PrimitiveType;
|
||
|
unsigned int ShaderChangeValue;
|
||
|
|
||
|
vtkOpenGLIndexBufferObject* IBO;
|
||
|
|
||
|
vtkOpenGLHelper();
|
||
|
~vtkOpenGLHelper();
|
||
|
void ReleaseGraphicsResources(vtkWindow* win);
|
||
|
|
||
|
private:
|
||
|
vtkOpenGLHelper(const vtkOpenGLHelper&) = delete;
|
||
|
vtkOpenGLHelper& operator=(const vtkOpenGLHelper&) = delete;
|
||
|
};
|
||
|
|
||
|
#endif // vtkOpenGLHelper_h
|
||
|
|
||
|
// VTK-HeaderTest-Exclude: vtkOpenGLHelper.h
|