RenderTechnique Class Reference

Base class for a rendering technique. More...

Inheritance diagram for RenderTechnique:

CausticCasterRenderTechnique CausticRecieverRenderTechnique ConvolvedCubeMapRenderTechnique CubeMapRenderTechnique DepthShadowRecieverRenderTechnique DistanceCubeMapRenderTechnique OgreRenderTechnique SBBRenderTechnique List of all members.

Public Member Functions

 RenderTechnique (ElementaryRenderable *parentRenderable, TechniqueGroup *parentTechniqueGroup)
 Constructor.
virtual void update (unsigned long frameNum)
 Updates the resources in the given frame.
virtual void runChanged (RenderingRunType runType, RenderingRun *run)
 Called after one of he shared runs changes.
virtual void runUpdated (RenderingRunType runType, RenderingRun *run)
 Called after one of he shared runs updates.
virtual class OgreRenderTechniqueasOgreRenderTechnique ()
 Conversion to OgreRenderTechnique.
ElementaryRenderablegetParentRenderable ()
 Retrieves the renderable this technique operates on.

Protected Attributes

ElementaryRenderableparentRenderable
 The renderable this technique operates on.
TechniqueGroupparentTechniqueGroup
 The TechniqueGroup this RenderedTechnique is attached to.
SharedRunssharedRuns
 The SharedRuns this RenderedTechnique is attached to.

Detailed Description

Base class for a rendering technique.

A RenderTechnique gives a description about how to render an object, and what kind of resources are needed to do this. A RenderTechnique does not define the whole process of rendering only one property of the display, example: this object will need a cubemap or this object is going to be a caustic caster. RenderTechniques usually operate on one pass of the rendering, and bind some resources to this pass (for example it can bind a texture or cubemap tho the given pass).

RenderTechniques are always bound to a Renderable, and a SharedRuns object. The Renderable defines the object to operate on. SharedRuns is to register RenderingRuns which can be shared between other RenderTechniques (example: a cubemap can be used by other techniques too, or even more than one object can share a single cubemap).


Constructor & Destructor Documentation

RenderTechnique::RenderTechnique ElementaryRenderable parentRenderable,
TechniqueGroup parentTechniqueGroup
 

Constructor.

Parameters:
parentRenderable the object to operate on
parentTechniqueGroup the TechniqueGroup this RenderedTechnique is attached to


Member Function Documentation

virtual class OgreRenderTechnique* RenderTechnique::asOgreRenderTechnique  )  [inline, virtual]
 

Conversion to OgreRenderTechnique.

This function is needed because of virtual inheritance.

Reimplemented in OgreRenderTechnique.

virtual void RenderTechnique::runChanged RenderingRunType  runType,
RenderingRun run
[inline, virtual]
 

Called after one of he shared runs changes.

Parameters:
runType enum describing the type of the changed run
run pointer to the changed RenderingRun

Reimplemented in CausticCasterRenderTechnique, ConvolvedCubeMapRenderTechnique, CubeMapRenderTechnique, and DistanceCubeMapRenderTechnique.

virtual void RenderTechnique::runUpdated RenderingRunType  runType,
RenderingRun run
[inline, virtual]
 

Called after one of he shared runs updates.

Parameters:
runType enum describing the type of the updated run
run pointer to the updated RenderingRun

Reimplemented in DistanceCubeMapRenderTechnique.

virtual void RenderTechnique::update unsigned long  frameNum  )  [inline, virtual]
 

Updates the resources in the given frame.

A RenderTechnique is usually need some resources from several runs, so these runs will be updated.

Parameters:
frameNum the actual framenumber

Reimplemented in ConvolvedCubeMapRenderTechnique, CubeMapRenderTechnique, DistanceCubeMapRenderTechnique, OgreCausticRecieverRenderTechnique, OgreConvolvedCubeMapRenderTechnique, OgreCubeMapRenderTechnique, OgreDepthShadowRecieverRenderTechnique, OgreDistanceCubeMapRenderTechnique, and OgreSBBRenderTechnique.


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