Crazy Eddie's GUI System
0.8.4
Main Page
Related Pages
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Pages
GL3GeometryBuffer.h
1
/***********************************************************************
2
created: Wed, 8th Feb 2012
3
author: Lukas E Meindl (based on code by Paul D Turner)
4
*************************************************************************/
5
/***************************************************************************
6
* Copyright (C) 2004 - 2013 Paul D Turner & The CEGUI Development Team
7
*
8
* Permission is hereby granted, free of charge, to any person obtaining
9
* a copy of this software and associated documentation files (the
10
* "Software"), to deal in the Software without restriction, including
11
* without limitation the rights to use, copy, modify, merge, publish,
12
* distribute, sublicense, and/or sell copies of the Software, and to
13
* permit persons to whom the Software is furnished to do so, subject to
14
* the following conditions:
15
*
16
* The above copyright notice and this permission notice shall be
17
* included in all copies or substantial portions of the Software.
18
*
19
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
* OTHER DEALINGS IN THE SOFTWARE.
26
***************************************************************************/
27
#ifndef _CEGUIOpenGL3GeometryBuffer_h_
28
#define _CEGUIOpenGL3GeometryBuffer_h_
29
30
#include "CEGUI/RendererModules/OpenGL/GeometryBufferBase.h"
31
32
namespace
CEGUI
33
{
34
class
OpenGL3Shader;
35
class
OpenGL3StateChangeWrapper;
36
class
OpenGL3Renderer;
37
39
class
OPENGL_GUIRENDERER_API
OpenGL3GeometryBuffer
:
public
OpenGLGeometryBufferBase
40
{
41
public
:
43
OpenGL3GeometryBuffer
(
OpenGL3Renderer
& owner);
44
virtual
~
OpenGL3GeometryBuffer
();
45
46
void
initialiseOpenGLBuffers();
47
void
deinitialiseOpenGLBuffers();
48
void
updateOpenGLBuffers();
49
50
// implementation/overrides of members from GeometryBuffer
51
void
draw()
const
;
52
void
appendGeometry(
const
Vertex
*
const
vbuff, uint vertex_count);
53
void
reset();
54
55
protected
:
57
GLuint
d_verticesVAO
;
59
GLuint
d_verticesVBO
;
61
CEGUI::OpenGL3Shader
*&
d_shader
;
63
const
GLint
d_shaderPosLoc
;
65
const
GLint
d_shaderTexCoordLoc
;
67
const
GLint
d_shaderColourLoc
;
69
const
GLint
d_shaderStandardMatrixLoc
;
71
OpenGL3StateChangeWrapper
*
d_glStateChanger
;
73
GLuint
d_bufferSize
;
74
};
75
76
}
77
78
#endif
79
cegui
include
CEGUI
RendererModules
OpenGL
GL3GeometryBuffer.h
Generated by
1.8.3.1