DistanceCubeMapRenderTechnique Class Reference

Base abstract class of rendering a distance cube map. More...

Inheritance diagram for DistanceCubeMapRenderTechnique:

RenderTechnique OgreDistanceCubeMapRenderTechnique List of all members.

Public Member Functions

 DistanceCubeMapRenderTechnique (unsigned long startFrame, unsigned long cubeMapUpdateInterval, unsigned int cubeMapResolution, bool useDistCalc, bool useFaceAngleCalc, float distTolerance, float angleTolerance, bool updateAllFace, ElementaryRenderable *parentRenderable, TechniqueGroup *parentTechniqueGroup)
 Constructor.
virtual void update (unsigned long frameNum)
 Updates the resources in the given frame.
virtual void runUpdated (RenderingRunType runType, RenderingRun *run)
 Called after one of he shared runs updates.
void runChanged (RenderingRunType runType, RenderingRun *run)
 Called after one of he shared runs changes.

Protected Member Functions

virtual void distanceCubeMapRunChanged (RenderingRun *run)=0
 Called if the changed run is a ColorCubeMapRenderingRun.
virtual void distanceCubeMapRunUpdated (RenderingRun *run)=0
 Called if the changed run is a ColorCubeMapRenderingRun.
virtual RenderingRuncreateDistanceCubeMapRun ()=0
 Creates a ColorCubeMapRenderingRun.

Protected Attributes

bool useDistCalc
 a flag to skip cube face update if object is far away or too small.
bool useFaceAngleCalc
 a flag to skip cube face update the face is neglible.
float distTolerance
 A value used in face skip test.
float angleTolerance
 A value used in face skip test.
bool updateAllFace
 defines if all cubemap faces should be updated in a frame or only one face per frame
unsigned long cubeMapUpdateInterval
 color-cubemap update frequency
unsigned int cubeMapResolution
 color-cubemap resolution
unsigned long startFrame
 offset in frame number used during update

Detailed Description

Base abstract class of rendering a distance cube map.

This technique defines that the final rendering of an object needs a cubmap of the distance of the surrounding environment from the cubemap center.


Constructor & Destructor Documentation

DistanceCubeMapRenderTechnique::DistanceCubeMapRenderTechnique unsigned long  startFrame,
unsigned long  cubeMapUpdateInterval,
unsigned int  cubeMapResolution,
bool  useDistCalc,
bool  useFaceAngleCalc,
float  distTolerance,
float  angleTolerance,
bool  updateAllFace,
ElementaryRenderable parentRenderable,
TechniqueGroup parentTechniqueGroup
 

Constructor.

Parameters:
startFrame adds an offset to the current frame number to help evenly distribute updates between frames
cubeMapUpdateInterval update frequency
cubeMapResolution distance cubemap resolution
useDistCalc flag to skip cube face update if object is far away
useFaceAngleCalc flag to skip cube face update if face is neglible
distTolerance distance tolerance used in face skip
angleTolerance angle tolerance used in face skip
updateAllFace defines if all cubemap faces should be updated in a frame or only one face per frame
parentRenderable the object to operate on
parentTechniqueGroup the TechniqueGroup this RenderedTechnique is attached to


Member Function Documentation

virtual RenderingRun* DistanceCubeMapRenderTechnique::createDistanceCubeMapRun  )  [protected, pure virtual]
 

Creates a ColorCubeMapRenderingRun.

Returns:
the new ColorCubeMapRenderingRun instance.

Implemented in OgreDistanceCubeMapRenderTechnique.

virtual void DistanceCubeMapRenderTechnique::distanceCubeMapRunChanged RenderingRun run  )  [protected, pure virtual]
 

Called if the changed run is a ColorCubeMapRenderingRun.

Parameters:
run pointer to the changed ColorCubeMapRenderingRun

Implemented in OgreDistanceCubeMapRenderTechnique.

virtual void DistanceCubeMapRenderTechnique::distanceCubeMapRunUpdated RenderingRun run  )  [protected, pure virtual]
 

Called if the changed run is a ColorCubeMapRenderingRun.

Parameters:
run pointer to the changed ColorCubeMapRenderingRun

Implemented in OgreDistanceCubeMapRenderTechnique.

void DistanceCubeMapRenderTechnique::runChanged RenderingRunType  runType,
RenderingRun run
[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 from RenderTechnique.

void DistanceCubeMapRenderTechnique::runUpdated RenderingRunType  runType,
RenderingRun run
[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 from RenderTechnique.

void DistanceCubeMapRenderTechnique::update unsigned long  frameNum  )  [virtual]
 

Updates the resources in the given frame.

Parameters:
frameNum the actual framenumber

Reimplemented from RenderTechnique.

Reimplemented in OgreDistanceCubeMapRenderTechnique.


Member Data Documentation

float DistanceCubeMapRenderTechnique::angleTolerance [protected]
 

A value used in face skip test.

The higher this value gets the more precise, but slower the method will be.

float DistanceCubeMapRenderTechnique::distTolerance [protected]
 

A value used in face skip test.

The higher this value gets the more precise, but slower the method will be.

bool DistanceCubeMapRenderTechnique::useDistCalc [protected]
 

a flag to skip cube face update if object is far away or too small.

See also:
distTolerance

bool DistanceCubeMapRenderTechnique::useFaceAngleCalc [protected]
 

a flag to skip cube face update the face is neglible.

See also:
angleTolerance


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