27#ifndef _CEGUIGeometryBuffer_h_
28#define _CEGUIGeometryBuffer_h_
30#include "CEGUI/Base.h"
31#include "CEGUI/Renderer.h"
32#include "CEGUI/Rect.h"
53 virtual void draw()
const = 0;
239 virtual bool isClippingActive()
const = 0;
Definition: MemoryAllocatedObject.h:110
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: GeometryBuffer.h:44
virtual void setClippingActive(const bool active)=0
Set whether clipping will be active for subsequently added vertices.
virtual void setBlendMode(const BlendMode mode)
Set the blend mode option to use when rendering this GeometryBuffer.
virtual void setRenderEffect(RenderEffect *effect)=0
Set the RenderEffect to be used by this GeometryBuffer.
virtual void appendGeometry(const Vertex *const vbuff, uint vertex_count)=0
Append a number of vertices from an array to the GeometryBuffer.
virtual BlendMode getBlendMode() const
Return the blend mode that is set to be used for this GeometryBuffer.
virtual void draw() const =0
Draw the geometry buffered within this GeometryBuffer object.
virtual uint getVertexCount() const =0
Return the total number of vertices currently held by this GeometryBuffer object.
virtual Texture * getActiveTexture() const =0
Return a pointer to the currently active Texture object. This may return 0 if no texture is set.
virtual void setClippingRegion(const Rectf ®ion)=0
Set the clipping region to be used when rendering this buffer.
virtual ~GeometryBuffer()
Destructor.
virtual uint getBatchCount() const =0
Return the number of batches of geometry that this GeometryBuffer has split the vertices into.
virtual void setRotation(const Quaternion &r)=0
Set the rotations to be applied to the geometry in the buffer when it is subsequently rendered.
GeometryBuffer()
Constructor.
virtual RenderEffect * getRenderEffect()=0
Return the RenderEffect object that is assigned to this GeometryBuffer or 0 if none.
virtual void setActiveTexture(Texture *texture)=0
Set the active texture to be used with all subsequently added vertices.
virtual void reset()=0
Clear all buffered data and reset the GeometryBuffer to the default state.
virtual void setTranslation(const Vector3f &v)=0
Set the translation to be applied to the geometry in the buffer when it is subsequently rendered.
virtual void appendVertex(const Vertex &vertex)=0
Append a single vertex to the buffer.
BlendMode d_blendMode
The BlendMode to use when rendering this GeometryBuffer.
Definition: GeometryBuffer.h:246
virtual void setPivot(const Vector3f &p)=0
Set the pivot point to be used when applying the rotations.
Class to represent rotation, avoids Gimbal lock.
Definition: Quaternion.h:69
Interface for objects that hook into RenderingWindow to affect the rendering process,...
Definition: RenderEffect.h:42
Abstract base class specifying the required interface for Texture objects.
Definition: Texture.h:54
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
BlendMode
Enumerated type that contains the valid options that specify the type of blending that is to be perfo...
Definition: Renderer.h:62
structure that is used to hold details of a single vertex in 3D space.
Definition: Vertex.h:42