Crazy Eddie's GUI System
0.8.7
|
27 #ifndef _CEGUIDirect3D10GeometryBuffer_h_
28 #define _CEGUIDirect3D10GeometryBuffer_h_
30 #include "../../GeometryBuffer.h"
31 #include "CEGUI/RendererModules/Direct3D10/Renderer.h"
32 #include "../../Rect.h"
33 #include "../../Quaternion.h"
44 # pragma warning(push)
45 # pragma warning(disable : 4251)
51 class Direct3D10Texture;
82 bool isClippingActive()
const;
108 const ID3D10ShaderResourceView* texture;
154 #if defined(_MSC_VER)
155 # pragma warning(pop)
158 #endif // end of guard _CEGUIDirect3D10GeometryBuffer_h_
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: GeometryBuffer.h:44
bool d_bufferSynched
whether the h/w buffer is in sync with the added geometry
Definition: RendererModules/Direct3D10/GeometryBuffer.h:124
void allocateVertexBuffer(const size_t count) const
allocate the hardware vertex buffer large enough for count vertices.
float tu
texture coordinates.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:102
internal Vertex structure used for Direct3D based geometry.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:96
RenderEffect * d_effect
RenderEffect that will be used by the GeometryBuffer.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:144
type to track info for per-texture sub batches of geometry
Definition: RendererModules/Direct3D10/GeometryBuffer.h:107
void appendGeometry(const Vertex *const vbuff, uint vertex_count)
Append a number of vertices from an array to the GeometryBuffer.
const D3DXMATRIX * getMatrix() const
return pointer to D3DXMATRIX used by this GeometryBuffer
DWORD diffuse
colour of the vertex.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:100
uint getBatchCount() const
Return the number of batches of geometry that this GeometryBuffer has split the vertices into.
~Direct3D10GeometryBuffer()
Destructor.
std::vector< BatchInfo > BatchList
type of container that tracks BatchInfos.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:126
void syncHardwareBuffer() const
Synchronise data in the hardware buffer with what's been added.
void cleanupVertexBuffer() const
cleanup the hardware vertex buffer.
Texture implementation for the Direct3D10Renderer.
Definition: RendererModules/Direct3D10/Texture.h:50
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
Class to represent rotation, avoids Gimbal lock.
Definition: Quaternion.h:69
void setClippingRegion(const Rectf ®ion)
Set the clipping region to be used when rendering this buffer.
bool d_matrixValid
true when d_matrix is valid and up to date
Definition: RendererModules/Direct3D10/GeometryBuffer.h:148
UINT d_bufferSize
Size of the currently allocated vertex buffer.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:122
RenderEffect * getRenderEffect()
Return the RenderEffect object that is assigned to this GeometryBuffer or 0 if none.
ID3D10Buffer * d_vertexBuffer
hardware buffer where vertices will be drawn from.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:120
structure that is used to hold details of a single vertex in 3D space.
Definition: Vertex.h:42
Direct3D10GeometryBuffer(Direct3D10Renderer &owner)
Constructor.
std::vector< D3DVertex > VertexList
type of container used to queue the geometry
Definition: RendererModules/Direct3D10/GeometryBuffer.h:130
void setTranslation(const Vector3f &v)
Set the translation to be applied to the geometry in the buffer when it is subsequently rendered.
D3DXMATRIX d_matrix
model matrix cache
Definition: RendererModules/Direct3D10/GeometryBuffer.h:146
void appendVertex(const Vertex &vertex)
Append a single vertex to the buffer.
VertexList d_vertices
container where added geometry is stored.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:132
Quaternion d_rotation
rotation Quaternion
Definition: RendererModules/Direct3D10/GeometryBuffer.h:140
void reset()
Clear all buffered data and reset the GeometryBuffer to the default state.
Abstract base class specifying the required interface for Texture objects.
Definition: Texture.h:54
void setActiveTexture(Texture *texture)
Set the active texture to be used with all subsequently added vertices.
Renderer implementation using Direct3D 10.
Definition: RendererModules/Direct3D10/Renderer.h:69
Direct3D10Texture * d_activeTexture
last texture that was set as active
Definition: RendererModules/Direct3D10/GeometryBuffer.h:118
FLOAT x
The transformed position for the vertex.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:98
Texture * getActiveTexture() const
Return a pointer to the currently active Texture object. This may return 0 if no texture is set.
void updateMatrix() const
update cached matrix
void setRenderEffect(RenderEffect *effect)
Set the RenderEffect to be used by this GeometryBuffer.
ID3D10Device & d_device
The D3D Device.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:116
Rectf d_clipRect
rectangular clip region
Definition: RendererModules/Direct3D10/GeometryBuffer.h:134
Vector3f d_translation
translation vector
Definition: RendererModules/Direct3D10/GeometryBuffer.h:138
bool d_clippingActive
whether clipping will be active for the current batch
Definition: RendererModules/Direct3D10/GeometryBuffer.h:136
uint getVertexCount() const
Return the total number of vertices currently held by this GeometryBuffer object.
Implementation of CEGUI::GeometryBuffer for the Direct3D 10 API.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:55
Vector3f d_pivot
pivot point for rotation
Definition: RendererModules/Direct3D10/GeometryBuffer.h:142
void setRotation(const Quaternion &r)
Set the rotations to be applied to the geometry in the buffer when it is subsequently rendered.
void setClippingActive(const bool active)
Set whether clipping will be active for subsequently added vertices.
Interface for objects that hook into RenderingWindow to affect the rendering process,...
Definition: RenderEffect.h:42
void setPivot(const Vector3f &p)
Set the pivot point to be used when applying the rotations.
void draw() const
Draw the geometry buffered within this GeometryBuffer object.
BatchList d_batches
list of texture batches added to the geometry buffer
Definition: RendererModules/Direct3D10/GeometryBuffer.h:128