RenderingRun Class Reference

Base class for a computation module. More...

Inheritance diagram for RenderingRun:

CausticCubeMapRenderingRun ColorCubeMapRenderingRun DepthShadowMapRenderingRun DistanceCubeMapRenderingRun OgreRenderingRun PhotonMapRenderingRun ReducedCubeMapRenderingRun SceneCameraDepthRenderingRun List of all members.

Public Member Functions

 RenderingRun (unsigned long startFrame, unsigned long updateInterval)
 Constructor.
void update (unsigned long frameNum)
 Calls updateFrame() if the run needs update according to its starting frame and update interval and has not been allready updated in this frame.
virtual class OgreRenderingRunasOgreRenderingRun ()
 Conversion to OgreRenderRun.

Protected Member Functions

bool needUpdate (unsigned long frameNum)
 Returns if this run needs update.
virtual void updateFrame (unsigned long frameNum)
 This function does the actual update in a frame.

Protected Attributes

unsigned long lastupdated
 The number of the last frame this run was updated.
unsigned long startFrame
 The number of the frame this run should be updated first.
unsigned long updateInterval
 Refresh frequency in frames.

Detailed Description

Base class for a computation module.

A run typically - but not necessarily or exclusively - consists of a series of rendering passes. A run is alway created to compute some kind of resource for a RenderTechnique. The type of the resource depends on the type of the run (typically it is a Texture). Runs can be attached to only one Technique (if only one of the Techniques attached to a Renderable can use this resource, and each Renderable requires a unique one), or can be shared between several Techniques and Renderables (for example a cube-map). Runs are updated only once in a frame, but not necessary in each frame.


Constructor & Destructor Documentation

RenderingRun::RenderingRun unsigned long  startFrame,
unsigned long  updateInterval
 

Constructor.

Parameters:
startFrame adds an offset to the current frame number to help evenly distribute updates between frames
updateInterval photon map update frequency


Member Function Documentation

virtual class OgreRenderingRun* RenderingRun::asOgreRenderingRun  )  [inline, virtual]
 

Conversion to OgreRenderRun.

This function is needed because of virtual inheritance.

Reimplemented in OgreRenderingRun.

bool RenderingRun::needUpdate unsigned long  frameNum  )  [inline, protected]
 

Returns if this run needs update.

Parameters:
frameNum current frame number

virtual void RenderingRun::updateFrame unsigned long  frameNum  )  [inline, protected, virtual]
 

This function does the actual update in a frame.

Parameters:
frameNum current frame number

Reimplemented in CausticCubeMapRenderingRun, ColorCubeMapRenderingRun, DepthShadowMapRenderingRun, DistanceCubeMapRenderingRun, PhotonMapRenderingRun, ReducedCubeMapRenderingRun, SceneCameraDepthRenderingRun, OgreDepthShadowMapRenderingRun, OgrePhotonMapRenderingRun, and OgreSceneCameraDepthRenderingRun.


The documentation for this class was generated from the following files:
Generated on Thu Apr 27 17:29:42 2006 for GameTools Illumination Module by  doxygen 1.4.6-NO