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

Intermediate RenderTarget implementing common parts for Irrlicht engine. More...

Inheritance diagram for CEGUI::IrrlichtRenderTarget:
Collaboration diagram for CEGUI::IrrlichtRenderTarget:

List of all members.

Public Member Functions

 IrrlichtRenderTarget (IrrlichtRenderer &owner, irr::video::IVideoDriver &driver)
 Constructor.
virtual ~IrrlichtRenderTarget ()
 Destructor.
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

Protected Attributes

IrrlichtRenderer & d_owner
 IrrlichtRenderer object that owns this RenderTarget.
irr::video::IVideoDriver & d_driver
 Irrlicht video driver we are using.
Rect d_area
 holds defined area for the RenderTarget
irr::core::matrix4 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)
const float d_xViewDir
 a coefficient used to handle OpenGL / D3D projection variations.

Detailed Description

Intermediate RenderTarget implementing common parts for Irrlicht engine.


Member Function Documentation

void CEGUI::IrrlichtRenderTarget::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::IrrlichtTextureTarget.

void CEGUI::IrrlichtRenderTarget::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::IrrlichtTextureTarget.

void CEGUI::IrrlichtRenderTarget::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::IrrlichtRenderTarget::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::IrrlichtRenderTarget::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::IrrlichtRenderTarget::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.