Crazy Eddie's GUI System
0.8.7
|
27 #ifndef _CEGUIDirect3D9GeometryBuffer_h_
28 #define _CEGUIDirect3D9GeometryBuffer_h_
30 #include "../../GeometryBuffer.h"
31 #include "CEGUI/RendererModules/Direct3D9/Renderer.h"
32 #include "../../Rect.h"
33 #include "../../Quaternion.h"
39 # pragma warning(push)
40 # pragma warning(disable : 4251)
46 class Direct3D9Texture;
77 bool isClippingActive()
const;
99 LPDIRECT3DTEXTURE9 texture;
138 #if defined(_MSC_VER)
139 # pragma warning(pop)
142 #endif // end of guard _CEGUIDirect3D9GeometryBuffer_h_
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: GeometryBuffer.h:44
Rectf d_clipRect
rectangular clip region
Definition: RendererModules/Direct3D9/GeometryBuffer.h:117
Direct3D9 based implementation of the GeometryBuffer interface.
Definition: RendererModules/Direct3D9/GeometryBuffer.h:53
Vector3f d_pivot
pivot point for rotation
Definition: RendererModules/Direct3D9/GeometryBuffer.h:125
void setClippingActive(const bool active)
Set whether clipping will be active for subsequently added vertices.
std::vector< BatchInfo > BatchList
type of container that tracks BatchInfos.
Definition: RendererModules/Direct3D9/GeometryBuffer.h:109
Direct3D9Renderer & d_owner
Owning Direct3D9Renderer object.
Definition: RendererModules/Direct3D9/GeometryBuffer.h:105
Vector3f d_translation
translation vector
Definition: RendererModules/Direct3D9/GeometryBuffer.h:121
RenderEffect * d_effect
RenderEffect that will be used by the GeometryBuffer.
Definition: RendererModules/Direct3D9/GeometryBuffer.h:127
D3DXMATRIX d_matrix
model matrix cache
Definition: RendererModules/Direct3D9/GeometryBuffer.h:131
void setRenderEffect(RenderEffect *effect)
Set the RenderEffect to be used by this GeometryBuffer.
void draw() const
Draw the geometry buffered within this GeometryBuffer object.
FLOAT x
The transformed position for the vertex.
Definition: RendererModules/Direct3D9/GeometryBuffer.h:89
Direct3D9GeometryBuffer(Direct3D9Renderer &owner, LPDIRECT3DDEVICE9 device)
Constructor.
Texture * getActiveTexture() const
Return a pointer to the currently active Texture object. This may return 0 if no texture is set.
Direct3D9Texture * d_activeTexture
last texture that was set as active
Definition: RendererModules/Direct3D9/GeometryBuffer.h:107
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
Class to represent rotation, avoids Gimbal lock.
Definition: Quaternion.h:69
DWORD diffuse
colour of the vertex.
Definition: RendererModules/Direct3D9/GeometryBuffer.h:91
void setTranslation(const Vector3f &t)
Set the translation to be applied to the geometry in the buffer when it is subsequently rendered.
type to track info for per-texture sub batches of geometry
Definition: RendererModules/Direct3D9/GeometryBuffer.h:98
void performBatchManagement()
perform batch management operations prior to adding new geometry.
structure that is used to hold details of a single vertex in 3D space.
Definition: Vertex.h:42
BatchList d_batches
list of texture batches added to the geometry buffer
Definition: RendererModules/Direct3D9/GeometryBuffer.h:111
uint getBatchCount() const
Return the number of batches of geometry that this GeometryBuffer has split the vertices into.
void updateMatrix() const
update cached matrix
Abstract base class specifying the required interface for Texture objects.
Definition: Texture.h:54
bool d_clippingActive
whether clipping will be active for the current batch
Definition: RendererModules/Direct3D9/GeometryBuffer.h:119
Texture implementation for the Direct3D9Renderer.
Definition: RendererModules/Direct3D9/Texture.h:45
Quaternion d_rotation
rotation vector
Definition: RendererModules/Direct3D9/GeometryBuffer.h:123
bool d_matrixValid
true when d_matrix is valid and up to date
Definition: RendererModules/Direct3D9/GeometryBuffer.h:133
void appendGeometry(const Vertex *const vbuff, uint vertex_count)
Append a number of vertices from an array to the GeometryBuffer.
VertexList d_vertices
container where added geometry is stored.
Definition: RendererModules/Direct3D9/GeometryBuffer.h:115
void setActiveTexture(Texture *texture)
Set the active texture to be used with all subsequently added vertices.
std::vector< D3DVertex > VertexList
type of container used to queue the geometry
Definition: RendererModules/Direct3D9/GeometryBuffer.h:113
void appendVertex(const Vertex &vertex)
Append a single vertex to the buffer.
void setClippingRegion(const Rectf ®ion)
Set the clipping region to be used when rendering this buffer.
RenderEffect * getRenderEffect()
Return the RenderEffect object that is assigned to this GeometryBuffer or 0 if none.
const D3DXMATRIX * getMatrix() const
return pointer to D3DXMATRIX used as world transform.
LPDIRECT3DDEVICE9 d_device
The D3D Device.
Definition: RendererModules/Direct3D9/GeometryBuffer.h:129
void reset()
Clear all buffered data and reset the GeometryBuffer to the default state.
void setPivot(const Vector3f &p)
Set the pivot point to be used when applying the rotations.
Renderer class to interface with Direct3D 9.
Definition: RendererModules/Direct3D9/Renderer.h:65
float tu
texture coordinates.
Definition: RendererModules/Direct3D9/GeometryBuffer.h:93
internal Vertex structure used for Direct3D based geometry.
Definition: RendererModules/Direct3D9/GeometryBuffer.h:87
Interface for objects that hook into RenderingWindow to affect the rendering process,...
Definition: RenderEffect.h:42
uint getVertexCount() const
Return the total number of vertices currently held by this GeometryBuffer object.
void setRotation(const Quaternion &r)
Set the rotations to be applied to the geometry in the buffer when it is subsequently rendered.