27#ifndef _CEGUIOpenGL3GeometryBuffer_h_
28#define _CEGUIOpenGL3GeometryBuffer_h_
30#include "CEGUI/RendererModules/OpenGL/GeometryBufferBase.h"
35class OpenGL3StateChangeWrapper;
46 void initialiseOpenGLBuffers();
49 void deinitialiseOpenGLBuffers();
50 void updateOpenGLBuffers();
OpenGL3 based implementation of the GeometryBuffer interface.
Definition: GL3GeometryBuffer.h:40
GLuint d_verticesVBO
OpenGL vbo containing all vertex data.
Definition: GL3GeometryBuffer.h:61
const GLint d_shaderStandardMatrixLoc
Matrix uniform location inside the shader, for OpenGL.
Definition: GL3GeometryBuffer.h:71
const GLint d_shaderColourLoc
Color variable location inside the shader, for OpenGL.
Definition: GL3GeometryBuffer.h:69
const GLint d_shaderPosLoc
Position variable location inside the shader, for OpenGL.
Definition: GL3GeometryBuffer.h:65
GLuint d_bufferSize
Size of the buffer that is currently in use.
Definition: GL3GeometryBuffer.h:75
OpenGL3GeometryBuffer(OpenGL3Renderer &owner)
Constructor.
OpenGL3StateChangeWrapper * d_glStateChanger
Pointer to the OpenGL state changer wrapper that was created inside the Renderer.
Definition: GL3GeometryBuffer.h:73
const GLint d_shaderTexCoordLoc
TexCoord variable location inside the shader, for OpenGL.
Definition: GL3GeometryBuffer.h:67
void configureVertexArray() const
The functions first binds the vbo and then sets it up for rendering.
void reset()
Clear all buffered data and reset the GeometryBuffer to the default state.
void appendGeometry(const Vertex *const vbuff, uint vertex_count)
Append a number of vertices from an array to the GeometryBuffer.
GLuint d_verticesVAO
OpenGL vao used for the vertices.
Definition: GL3GeometryBuffer.h:59
CEGUI::OpenGL3Shader *& d_shader
Reference to the OpenGL shader inside the Renderer, that is used to render all geometry.
Definition: GL3GeometryBuffer.h:63
void draw() const
Draw the geometry buffered within this GeometryBuffer object.
Renderer class to interface with desktop OpenGL version >= 3.2 or OpenGL ES version >= 2.
Definition: GL3Renderer.h:55
OpenGL3StateChangeWrapper - wraps OpenGL calls and checks for redundant calls beforehand.
Definition: StateChangeWrapper.h:49
OpenGL based implementation of the GeometryBuffer interface.
Definition: GeometryBufferBase.h:53
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
structure that is used to hold details of a single vertex in 3D space.
Definition: Vertex.h:42