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
base class for properties able to do native set/get
Definition TypedProperty.h:50
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