Crazy Eddies GUI System 0.7.6
Public Member Functions | Protected Member Functions | Protected Attributes
CEGUI::Direct3D11RenderTarget Class Reference

Implementation of an ntermediate RenderTarget for the Direct3D 10 API. More...

Inheritance diagram for CEGUI::Direct3D11RenderTarget:
Collaboration diagram for CEGUI::Direct3D11RenderTarget:

List of all members.

Public Member Functions

 Direct3D11RenderTarget (Direct3D11Renderer &owner)
 Constructor.
void draw (const GeometryBuffer &buffer)
 Draw geometry from the given GeometryBuffer onto the surface that this RenderTarget represents.
void draw (const RenderQueue &queue)
 Draw geometry from the given RenderQueue onto the surface that this RenderTarget represents.
void setArea (const Rect &area)
 Set the area for this RenderTarget. The exact action this function will take depends upon what the concrete class is representing. For example, with a 'view port' style RenderTarget, this should set the area that the view port occupies on the display (or rendering window).
const Rect & getArea () const
 Return the area defined for this RenderTarget.
void activate ()
 Activate the render target and put it in a state ready to be drawn to.
void deactivate ()
 Deactivate the render target after having completed rendering.
void unprojectPoint (const GeometryBuffer &buff, const Vector2 &p_in, Vector2 &p_out) const
 Take point p_in unproject it and put the result in p_out. Resulting point is local to GeometryBuffer buff.

Protected Member Functions

void updateMatrix () const
 helper that initialises the cached matrix
void setupViewport (D3D11_VIEWPORT &vp) const
 helper to initialise the D3D10_VIEWPORT vp for this target.

Protected Attributes

Direct3D11Renderer & d_owner
 Renderer that created and owns the render target.
IDevice11 & d_device
 D3D10Device interface.
Rect d_area
 holds defined area for the RenderTarget
D3DXMATRIX d_matrix
 projection / view matrix cache
bool d_matrixValid
 true when d_matrix is valid and up to date
float d_viewDistance
 tracks viewing distance (this is set up at the same time as d_matrix)

Detailed Description

Implementation of an ntermediate RenderTarget for the Direct3D 10 API.


Member Function Documentation

void CEGUI::Direct3D11RenderTarget::activate ( ) [virtual]

Activate the render target and put it in a state ready to be drawn to.

Note:
You MUST call this before doing any rendering - if you do not call this, in the unlikely event that your application actually works, it will likely stop working in some future version.

Implements CEGUI::RenderTarget.

Reimplemented in CEGUI::Direct3D11TextureTarget.

void CEGUI::Direct3D11RenderTarget::deactivate ( ) [virtual]

Deactivate the render target after having completed rendering.

Note:
You MUST call this after you finish rendering to the target - if you do not call this, in the unlikely event that your application actually works, it will likely stop working in some future version.

Implements CEGUI::RenderTarget.

Reimplemented in CEGUI::Direct3D11TextureTarget.

void CEGUI::Direct3D11RenderTarget::draw ( const GeometryBuffer &  buffer) [virtual]

Draw geometry from the given GeometryBuffer onto the surface that this RenderTarget represents.

Parameters:
bufferGeometryBuffer object holding the geometry that should be drawn to the RenderTarget.

Implements CEGUI::RenderTarget.

void CEGUI::Direct3D11RenderTarget::draw ( const RenderQueue &  queue) [virtual]

Draw geometry from the given RenderQueue onto the surface that this RenderTarget represents.

Parameters:
queueRenderQueue object holding the geometry that should be drawn to the RenderTarget.

Implements CEGUI::RenderTarget.

const Rect& CEGUI::Direct3D11RenderTarget::getArea ( ) const [virtual]

Return the area defined for this RenderTarget.

Returns:
Rect object describing the currently defined area for this RenderTarget.

Implements CEGUI::RenderTarget.

void CEGUI::Direct3D11RenderTarget::setArea ( const Rect &  area) [virtual]

Set the area for this RenderTarget. The exact action this function will take depends upon what the concrete class is representing. For example, with a 'view port' style RenderTarget, this should set the area that the view port occupies on the display (or rendering window).

Parameters:
areaRect object describing the new area to be assigned to the RenderTarget.
Exceptions:
InvalidRequestExceptionMay be thrown if the RenderTarget does not support setting or changing its area, or if the area change can not be satisfied for some reason.

Implements CEGUI::RenderTarget.