|
Crazy Eddies GUI System
0.7.0
|
Implementation of CEGUI::GeometryBuffer for the Direct3D 10 API. More...
Inheritance diagram for CEGUI::Direct3D10GeometryBuffer:
Collaboration diagram for CEGUI::Direct3D10GeometryBuffer:Classes | |
| struct | D3DVertex |
| internal Vertex structure used for Direct3D based geometry. More... | |
Public Member Functions | |
| Direct3D10GeometryBuffer (Direct3D10Renderer &owner) | |
| Constructor. | |
| ~Direct3D10GeometryBuffer () | |
| Destructor. | |
| const D3DXMATRIX * | getMatrix () const |
| return pointer to D3DXMATRIX used by this GeometryBuffer | |
| void | draw () const |
| Draw the geometry buffered within this GeometryBuffer object. | |
| void | setTranslation (const Vector3 &v) |
| Set the translation to be applied to the geometry in the buffer when it is subsequently rendered. More... | |
| void | setRotation (const Vector3 &r) |
| Set the rotations to be applied to the geometry in the buffer when it is subsequently rendered. More... | |
| void | setPivot (const Vector3 &p) |
| Set the pivot point to be used when applying the rotations. More... | |
| void | setClippingRegion (const Rect ®ion) |
| Set the clipping region to be used when rendering this buffer. | |
| void | appendVertex (const Vertex &vertex) |
| Append a single vertex to the buffer. More... | |
| void | appendGeometry (const Vertex *const vbuff, uint vertex_count) |
| Append a number of vertices from an array to the GeometryBuffer. More... | |
| void | setActiveTexture (Texture *texture) |
| Set the active texture to be used with all subsequently added vertices. More... | |
| 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. More... | |
| uint | getVertexCount () const |
| Return the total number of vertices currently held by this GeometryBuffer object. More... | |
| uint | getBatchCount () const |
| Return the number of batches of geometry that this GeometryBuffer has split the vertices into. More... | |
| void | setRenderEffect (RenderEffect *effect) |
| Set the RenderEffect to be used by this GeometryBuffer. More... | |
| RenderEffect * | getRenderEffect () |
| Return the RenderEffect object that is assigned to this GeometryBuffer or 0 if none. | |
Public Member Functions inherited from CEGUI::GeometryBuffer | |
| virtual | ~GeometryBuffer () |
| Destructor. | |
Protected Types | |
|
typedef std::pair< const ID3D10ShaderResourceView *, uint > | BatchInfo |
| type to track info for per-texture sub batches of geometry | |
| typedef std::vector< BatchInfo > | BatchList |
| type of container that tracks BatchInfos. | |
| typedef std::vector< D3DVertex > | VertexList |
| type of container used to queue the geometry | |
Protected Member Functions | |
| void | updateMatrix () const |
| update cached matrix | |
| void | syncHardwareBuffer () const |
| Synchronise data in the hardware buffer with what's been added. | |
| void | allocateVertexBuffer (const size_t count) const |
| allocate the hardware vertex buffer large enough for count vertices. | |
| void | cleanupVertexBuffer () const |
| cleanup the hardware vertex buffer. | |
Protected Attributes | |
| Direct3D10Renderer & | d_owner |
| ID3D10Device & | d_device |
| The D3D Device. | |
| Direct3D10Texture * | d_activeTexture |
| last texture that was set as active | |
| ID3D10Buffer * | d_vertexBuffer |
| hardware buffer where vertices will be drawn from. | |
| UINT | d_bufferSize |
| Size of the currently allocated vertex buffer. | |
| bool | d_bufferSynched |
| whether the h/w buffer is in sync with the added geometry | |
| BatchList | d_batches |
| list of texture batches added to the geometry buffer | |
| VertexList | d_vertices |
| container where added geometry is stored. | |
| Rect | d_clipRect |
| rectangular clip region | |
| Vector3 | d_translation |
| translation vector | |
| Vector3 | d_rotation |
| rotation vector | |
| Vector3 | d_pivot |
| pivot point for rotation | |
| RenderEffect * | d_effect |
| RenderEffect that will be used by the GeometryBuffer. | |
| D3DXMATRIX | d_matrix |
| model matrix cache | |
| bool | d_matrixValid |
| true when d_matrix is valid and up to date | |
Implementation of CEGUI::GeometryBuffer for the Direct3D 10 API.
|
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.
|
virtual |
Append a single vertex to the buffer.
| vertex | Vertex object describing the vertex to be added to the GeometryBuffer. |
Implements CEGUI::GeometryBuffer.
|
virtual |
Return a pointer to the currently active Texture object. This may return 0 if no texture is set.
Implements CEGUI::GeometryBuffer.
|
virtual |
Return the number of batches of geometry that this GeometryBuffer has split the vertices into.
Implements CEGUI::GeometryBuffer.
|
virtual |
Return the total number of vertices currently held by this GeometryBuffer object.
Implements CEGUI::GeometryBuffer.
|
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.
|
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.
|
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.
|
virtual |
Set the rotations to be applied to the geometry in the buffer when it is subsequently rendered.
| r | Vector3 describing the rotation factors to be used. |
Implements CEGUI::GeometryBuffer.
|
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.
1.8.3.1