Crazy Eddies GUI System  0.7.7
Public Member Functions | List of all members
CEGUI::RenderEffect Class Referenceabstract

Interface for objects that hook into RenderingWindow to affect the rendering process, thus allowing various effects to be achieved. More...

Public Member Functions

virtual int getPassCount () const =0
 Return the number of passes required by this effect. More...
 
virtual void performPreRenderFunctions (const int pass)=0
 Function called prior to RenderingWindow::draw being called. This is intended to be used for any required setup / state initialisation and is called once for each pass in the effect. More...
 
virtual void performPostRenderFunctions ()=0
 Function called after RenderingWindow::draw is called. This is intended to be used for any required cleanup / state restoration. This function is called once only, unlike performPreRenderFunctions which may be called multiple times; once for each pass in the effect. More...
 
virtual bool realiseGeometry (RenderingWindow &window, GeometryBuffer &geometry)=0
 Function called to generate geometry for the RenderingWindow. More...
 
virtual bool update (const float elapsed, RenderingWindow &window)=0
 Function called to perform any time based updates on the RenderEffect state. More...
 

Detailed Description

Interface for objects that hook into RenderingWindow to affect the rendering process, thus allowing various effects to be achieved.

Member Function Documentation

virtual int CEGUI::RenderEffect::getPassCount ( ) const
pure virtual

Return the number of passes required by this effect.

Returns
integer value indicating the number of rendering passes required to fully render this effect.
virtual void CEGUI::RenderEffect::performPostRenderFunctions ( )
pure virtual

Function called after RenderingWindow::draw is called. This is intended to be used for any required cleanup / state restoration. This function is called once only, unlike performPreRenderFunctions which may be called multiple times; once for each pass in the effect.

Note
Note that this function is called before any standard state cleanup that might be peformed by the Renderer module.
virtual void CEGUI::RenderEffect::performPreRenderFunctions ( const int  pass)
pure virtual

Function called prior to RenderingWindow::draw being called. This is intended to be used for any required setup / state initialisation and is called once for each pass in the effect.

Parameters
passIndicates the pass number to be initialised (starting at pass 0).
Note
Note that this function is called after any standard state initialisation that might be peformed by the Renderer module.
virtual bool CEGUI::RenderEffect::realiseGeometry ( RenderingWindow window,
GeometryBuffer geometry 
)
pure virtual

Function called to generate geometry for the RenderingWindow.

The geometry generated should be fully unclipped and window local.  The
origin for the geometry is located at the top-left corner.
Parameters
windowThe RenderingWindow object that is being processed.
geometryGeometryBuffer object where the generated geometry should be added. This object will be cleared before this function is invoked.
Returns
boolean value indicating whether the RenderingWindow should generate it's own geometry.
  • true if the RenderingWindow should generate it's own geometry. You will usually only return true if you do not need to use custom geometry.
  • false if you have added any required geometry needed to represent the RenderingWindow.
virtual bool CEGUI::RenderEffect::update ( const float  elapsed,
RenderingWindow window 
)
pure virtual

Function called to perform any time based updates on the RenderEffect state.

Note
This function should only affect the internal state of the RenderEffect object. This function should definitely not be used to directly affect any render states of the underlying rendering API or engine.
Parameters
elapsedThe number of seconds that have elapsed since the last time this function was called.
windowRenderingWindow object that the RenderEffect is being applied to.
Returns
boolean that indicates whether the window geometry will still be valid after the update.