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;
54 class D3D10_GUIRENDERER_API Direct3D10GeometryBuffer :
public GeometryBuffer
58 Direct3D10GeometryBuffer(Direct3D10Renderer& owner);
61 ~Direct3D10GeometryBuffer();
64 const D3DXMATRIX* getMatrix()
const;
68 void setTranslation(
const Vector3f& v);
69 void setRotation(
const Quaternion& r);
70 void setPivot(
const Vector3f& p);
71 void setClippingRegion(
const Rectf& region);
72 void appendVertex(
const Vertex& vertex);
73 void appendGeometry(
const Vertex*
const vbuff, uint vertex_count);
74 void setActiveTexture(Texture* texture);
76 Texture* getActiveTexture()
const;
77 uint getVertexCount()
const;
78 uint getBatchCount()
const;
81 void setClippingActive(
const bool active);
82 bool isClippingActive()
const;
86 void updateMatrix()
const;
88 void syncHardwareBuffer()
const;
90 void allocateVertexBuffer(
const size_t count)
const;
92 void cleanupVertexBuffer()
const;
108 const ID3D10ShaderResourceView* texture;
114 Direct3D10Renderer& d_owner;
116 ID3D10Device& d_device;
118 Direct3D10Texture* d_activeTexture;
120 mutable ID3D10Buffer* d_vertexBuffer;
122 mutable UINT d_bufferSize;
124 mutable bool d_bufferSynched;
136 bool d_clippingActive;
146 mutable D3DXMATRIX d_matrix;
148 mutable bool d_matrixValid;
154 #if defined(_MSC_VER)
155 # pragma warning(pop)
158 #endif // end of guard _CEGUIDirect3D10GeometryBuffer_h_
internal Vertex structure used for Direct3D based geometry.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:119
std::vector< BatchInfo > BatchList
type of container that tracks BatchInfos.
Definition: RendererModules/Direct3D10/GeometryBuffer.h:150
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
Class to represent rotation, avoids Gimbal lock.
Definition: Quaternion.h:93
std::vector< D3DVertex > VertexList
type of container used to queue the geometry
Definition: RendererModules/Direct3D10/GeometryBuffer.h:154
Interface for objects that hook into RenderingWindow to affect the rendering process,...
Definition: RenderEffect.h:64