Crazy Eddies GUI System  0.7.2
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CEGUI::OgreRenderTarget Class Reference

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

+ Inheritance diagram for CEGUI::OgreRenderTarget:
+ Collaboration diagram for CEGUI::OgreRenderTarget:

Public Member Functions

 OgreRenderTarget (OgreRenderer &owner, Ogre::RenderSystem &rs)
 Constructor.
 
virtual ~OgreRenderTarget ()
 Destructor.
 
void setOgreViewportDimensions (const Rect &area)
 Set the underlying viewport area directly - bypassing what the RenderTarget considers to be it's area - thus allowing the view port area used for rendering to be different to the area set for the target. More...
 
void draw (const GeometryBuffer &buffer)
 Draw geometry from the given GeometryBuffer onto the surface that this RenderTarget represents. More...
 
void draw (const RenderQueue &queue)
 Draw geometry from the given RenderQueue onto the surface that this RenderTarget represents. More...
 
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). More...
 
const RectgetArea () const
 Return the area defined for this RenderTarget. More...
 
void activate ()
 Activate the render target and put it in a state ready to be drawn to. More...
 
void deactivate ()
 Deactivate the render target after having completed rendering. More...
 
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.
 
- Public Member Functions inherited from CEGUI::RenderTarget
virtual ~RenderTarget ()
 Destructor.
 
virtual bool isImageryCache () const =0
 Return whether the RenderTarget is an implementation that caches actual rendered imagery. More...
 

Protected Member Functions

void updateMatrix () const
 helper that initialises the cached matrix
 
void updateViewport ()
 helper that initialises the viewport
 

Protected Attributes

OgreRendererd_owner
 OgreRenderer object that owns this RenderTarget.
 
Ogre::RenderSystem & d_renderSystem
 Ogre RendererSystem used to affect the rendering process.
 
Rect d_area
 holds defined area for the RenderTarget
 
Ogre::RenderTarget * d_renderTarget
 Ogre render target that we are effectively wrapping.
 
Ogre::Viewport * d_viewport
 Ogre viewport used for this target.
 
Ogre::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)
 
bool d_viewportValid
 true when d_viewport is up to date and valid.
 

Detailed Description

Intermediate RenderTarget implementing common parts for Ogre engine.

Member Function Documentation

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

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

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

void CEGUI::OgreRenderTarget::setOgreViewportDimensions ( const Rect area)

Set the underlying viewport area directly - bypassing what the RenderTarget considers to be it's area - thus allowing the view port area used for rendering to be different to the area set for the target.

Parameters
areaRect object describing the area to use in pixels.
Deprecated:
This function is deprecated and will be removed or changed considerably in future releases.