Crazy Eddie's GUI System
0.8.7
|
OpenGL3 based implementation of the GeometryBuffer interface. More...
Public Member Functions | |
OpenGL3GeometryBuffer (OpenGL3Renderer &owner) | |
Constructor. | |
void | initialiseOpenGLBuffers () |
void | configureVertexArray () const |
The functions first binds the vbo and then sets it up for rendering. | |
void | deinitialiseOpenGLBuffers () |
void | updateOpenGLBuffers () |
void | draw () const |
Draw the geometry buffered within this GeometryBuffer object. | |
void | appendGeometry (const Vertex *const vbuff, uint vertex_count) |
Append a number of vertices from an array to the GeometryBuffer. More... | |
void | reset () |
Clear all buffered data and reset the GeometryBuffer to the default state. | |
Public Member Functions inherited from CEGUI::OpenGLGeometryBufferBase | |
OpenGLGeometryBufferBase (OpenGLRendererBase &owner) | |
Constructor. | |
void | setTranslation (const Vector3f &t) |
Set the translation to be applied to the geometry in the buffer when it is subsequently rendered. More... | |
void | setRotation (const Quaternion &r) |
Set the rotations to be applied to the geometry in the buffer when it is subsequently rendered. More... | |
void | setPivot (const Vector3f &p) |
Set the pivot point to be used when applying the rotations. More... | |
void | setClippingRegion (const Rectf ®ion) |
Set the clipping region to be used when rendering this buffer. | |
void | appendVertex (const Vertex &vertex) |
Append a single vertex to the buffer. More... | |
void | setActiveTexture (Texture *texture) |
Set the active texture to be used with all subsequently added vertices. More... | |
Texture * | getActiveTexture () const |
Return a pointer to the currently active Texture object. This may return 0 if no texture is set. More... | |
uint | getVertexCount () const |
Return the total number of vertices currently held by this GeometryBuffer object. More... | |
uint | getBatchCount () const |
Return the number of batches of geometry that this GeometryBuffer has split the vertices into. More... | |
void | setRenderEffect (RenderEffect *effect) |
Set the RenderEffect to be used by this GeometryBuffer. More... | |
RenderEffect * | getRenderEffect () |
Return the RenderEffect object that is assigned to this GeometryBuffer or 0 if none. | |
void | setClippingActive (const bool active) |
Set whether clipping will be active for subsequently added vertices. More... | |
bool | isClippingActive () const |
const mat4Pimpl * | getMatrix () const |
return the GL modelview matrix used for this buffer. | |
Public Member Functions inherited from CEGUI::GeometryBuffer | |
virtual | ~GeometryBuffer () |
Destructor. | |
virtual void | setBlendMode (const BlendMode mode) |
Set the blend mode option to use when rendering this GeometryBuffer. More... | |
virtual BlendMode | getBlendMode () const |
Return the blend mode that is set to be used for this GeometryBuffer. More... | |
Protected Attributes | |
GLuint | d_verticesVAO |
OpenGL vao used for the vertices. | |
GLuint | d_verticesVBO |
OpenGL vbo containing all vertex data. | |
CEGUI::OpenGL3Shader *& | d_shader |
Reference to the OpenGL shader inside the Renderer, that is used to render all geometry. | |
const GLint | d_shaderPosLoc |
Position variable location inside the shader, for OpenGL. | |
const GLint | d_shaderTexCoordLoc |
TexCoord variable location inside the shader, for OpenGL. | |
const GLint | d_shaderColourLoc |
Color variable location inside the shader, for OpenGL. | |
const GLint | d_shaderStandardMatrixLoc |
Matrix uniform location inside the shader, for OpenGL. | |
OpenGL3StateChangeWrapper * | d_glStateChanger |
Pointer to the OpenGL state changer wrapper that was created inside the Renderer. | |
GLuint | d_bufferSize |
Size of the buffer that is currently in use. | |
Protected Attributes inherited from CEGUI::OpenGLGeometryBufferBase | |
OpenGLRendererBase * | d_owner |
OpenGLRendererBase that owns the GeometryBuffer. | |
OpenGLTexture * | d_activeTexture |
last texture that was set as active | |
BatchList | d_batches |
list of texture batches added to the geometry buffer | |
VertexList | d_vertices |
container where added geometry is stored. | |
Rectf | d_clipRect |
rectangular clip region | |
bool | d_clippingActive |
whether clipping will be active for the current batch | |
Vector3f | d_translation |
translation vector | |
Quaternion | d_rotation |
rotation quaternion | |
Vector3f | d_pivot |
pivot point for rotation | |
RenderEffect * | d_effect |
RenderEffect that will be used by the GeometryBuffer. | |
mat4Pimpl * | d_matrix |
model matrix cache - we use double because gluUnproject takes double | |
bool | d_matrixValid |
true when d_matrix is valid and up to date | |
Protected Attributes inherited from CEGUI::GeometryBuffer | |
BlendMode | d_blendMode |
The BlendMode to use when rendering this GeometryBuffer. | |
Additional Inherited Members | |
Protected Types inherited from CEGUI::OpenGLGeometryBufferBase | |
typedef std::vector< BatchInfo > | BatchList |
type of container that tracks BatchInfos. | |
typedef std::vector< GLVertex > | VertexList |
type of container used to queue the geometry | |
Protected Member Functions inherited from CEGUI::OpenGLGeometryBufferBase | |
void | performBatchManagement () |
perform batch management operations prior to adding new geometry. | |
void | updateMatrix () const |
update cached matrix | |
Protected Member Functions inherited from CEGUI::GeometryBuffer | |
GeometryBuffer () | |
Constructor. | |
OpenGL3 based implementation of the GeometryBuffer interface.
|
virtual |
Append a number of vertices from an array to the GeometryBuffer.
vbuff | Pointer to an array of Vertex objects that describe the vertices that are to be added to the GeometryBuffer. |
vertex_count | The number of Vertex objects from the array vbuff that are to be added to the GeometryBuffer. |
Reimplemented from CEGUI::OpenGLGeometryBufferBase.