Crazy Eddie's GUI System
0.8.4
|
Implemetation of CEGUI::GeometryBuffer for DirectFB. More...
Classes | |
struct | BatchInfo |
type to track info for per-texture sub batches of geometry More... | |
Public Member Functions | |
DirectFBGeometryBuffer (DirectFBRenderer &owner) | |
Constructor. | |
~DirectFBGeometryBuffer () | |
Destructor. | |
void | draw () const |
Draw the geometry buffered within this GeometryBuffer object. | |
void | setTranslation (const Vector3f &v) |
Set the translation to be applied to the geometry in the buffer when it is subsequently rendered. | |
void | setRotation (const Quaternion &r) |
Set the rotations to be applied to the geometry in the buffer when it is subsequently rendered. | |
void | setPivot (const Vector3f &p) |
Set the pivot point to be used when applying the rotations. | |
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. | |
void | appendGeometry (const Vertex *const vbuff, uint vertex_count) |
Append a number of vertices from an array to the GeometryBuffer. | |
void | setActiveTexture (Texture *texture) |
Set the active texture to be used with all subsequently added vertices. | |
void | reset () |
Clear all buffered data and reset the GeometryBuffer to the default state. | |
Texture * | getActiveTexture () const |
Return a pointer to the currently active Texture object. This may return 0 if no texture is set. | |
uint | getVertexCount () const |
Return the total number of vertices currently held by this GeometryBuffer object. | |
uint | getBatchCount () const |
Return the number of batches of geometry that this GeometryBuffer has split the vertices into. | |
void | setRenderEffect (RenderEffect *effect) |
Set the RenderEffect to be used by this GeometryBuffer. | |
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. | |
bool | isClippingActive () const |
Protected Types | |
typedef std::vector< BatchInfo > | BatchList |
type of container that tracks BatchInfos. | |
typedef std::vector< DFBVertex > | VertexList |
type of container used to queue the geometry | |
Protected Member Functions | |
void | updateMatrix () const |
update cached matrix | |
Protected Attributes | |
DirectFBRenderer & | d_owner |
DirectFBRenderer object that created and owns this GeometryBuffer. | |
DirectFBTexture * | 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 vector | |
Vector3f | d_pivot |
pivot point for rotation | |
RenderEffect * | d_effect |
RenderEffect that will be used by the GeometryBuffer. | |
s32 | d_matrix [9] |
model matrix cache | |
bool | d_matrixValid |
true when d_matrix is valid and up to date |
Implemetation of CEGUI::GeometryBuffer for DirectFB.
void CEGUI::DirectFBGeometryBuffer::appendGeometry | ( | const Vertex *const | vbuff, |
uint | vertex_count | ||
) | [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. |
Implements CEGUI::GeometryBuffer.
void CEGUI::DirectFBGeometryBuffer::appendVertex | ( | const Vertex & | vertex | ) | [virtual] |
Append a single vertex to the buffer.
vertex | Vertex object describing the vertex to be added to the GeometryBuffer. |
Implements CEGUI::GeometryBuffer.
Texture* CEGUI::DirectFBGeometryBuffer::getActiveTexture | ( | ) | const [virtual] |
Return a pointer to the currently active Texture object. This may return 0 if no texture is set.
Implements CEGUI::GeometryBuffer.
uint CEGUI::DirectFBGeometryBuffer::getBatchCount | ( | ) | const [virtual] |
Return the number of batches of geometry that this GeometryBuffer has split the vertices into.
Implements CEGUI::GeometryBuffer.
uint CEGUI::DirectFBGeometryBuffer::getVertexCount | ( | ) | const [virtual] |
Return the total number of vertices currently held by this GeometryBuffer object.
Implements CEGUI::GeometryBuffer.
void CEGUI::DirectFBGeometryBuffer::setActiveTexture | ( | Texture * | texture | ) | [virtual] |
Set the active texture to be used with all subsequently added vertices.
texture | Pointer to a Texture object that shall be used for subsequently added vertices. This may be 0, in which case texturing will be disabled for subsequently added vertices. |
Implements CEGUI::GeometryBuffer.
void CEGUI::DirectFBGeometryBuffer::setClippingActive | ( | const bool | active | ) | [virtual] |
Set whether clipping will be active for subsequently added vertices.
active |
|
Implements CEGUI::GeometryBuffer.
void CEGUI::DirectFBGeometryBuffer::setPivot | ( | const Vector3f & | p | ) | [virtual] |
Set the pivot point to be used when applying the rotations.
p | Vector3 describing the location of the pivot point to be used when applying the rotation to the geometry. |
Implements CEGUI::GeometryBuffer.
void CEGUI::DirectFBGeometryBuffer::setRenderEffect | ( | RenderEffect * | effect | ) | [virtual] |
Set the RenderEffect to be used by this GeometryBuffer.
effect | Pointer to the RenderEffect to be used during renderng of the GeometryBuffer. May be 0 to remove a previously added RenderEffect. |
Implements CEGUI::GeometryBuffer.
void CEGUI::DirectFBGeometryBuffer::setRotation | ( | const Quaternion & | r | ) | [virtual] |
Set the rotations to be applied to the geometry in the buffer when it is subsequently rendered.
r | Quaternion describing the rotation to be used. |
Implements CEGUI::GeometryBuffer.
void CEGUI::DirectFBGeometryBuffer::setTranslation | ( | const Vector3f & | v | ) | [virtual] |
Set the translation to be applied to the geometry in the buffer when it is subsequently rendered.
v | Vector3 describing the three axis translation vector to be used. |
Implements CEGUI::GeometryBuffer.