ConvolvedCubeMapRenderTechnique Class Reference

Base abstract class of rendering a color cube map which will be reduced. More...

Inheritance diagram for ConvolvedCubeMapRenderTechnique:

RenderTechnique OgreConvolvedCubeMapRenderTechnique List of all members.

Public Member Functions

 ConvolvedCubeMapRenderTechnique (unsigned long startFrame, unsigned long cubeMapUpdateInterval, unsigned int cubeMapResolution, unsigned int reducedCubeMapResolution, 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.
void runChanged (RenderingRunType runType, RenderingRun *run)
 Called after one of he shared runs changes.

Protected Member Functions

virtual void reducedCubeMapRunChanged (RenderingRun *run)=0
 Called if the changed run is a ColorCubeMapRenderingRun.
virtual void colorCubeMapRunChanged (RenderingRun *run)=0
 Called if the changed run is a ColorCubeMapRenderingRun.
virtual RenderingRuncreateColorCubeMapRun ()=0
 Creates a ColorCubeMapRenderingRun.
virtual RenderingRuncreateReducedCubeMapRun ()=0
 Creates a ColorCubeMapRenderingRun.

Protected Attributes

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 int reducedCubeMapResolution
 color-cubemap resolution
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.
unsigned long startFrame
 offset in frame number used during update

Detailed Description

Base abstract class of rendering a color cube map which will be reduced.

This technique defines that the final rendering of an object needs a reduced sized cubmap of the colors of the surrounding environment. This reduced sized cubemap is created with averaging the original cubemap. This reduced cubemap can easily be convolved in the final shading to acheve special effects like diffuse reflections.


Constructor & Destructor Documentation

ConvolvedCubeMapRenderTechnique::ConvolvedCubeMapRenderTechnique unsigned long  startFrame,
unsigned long  cubeMapUpdateInterval,
unsigned int  cubeMapResolution,
unsigned int  reducedCubeMapResolution,
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 color cubemap resolution
reducedCubeMapResolution the resolution of the reduced cube map
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 void ConvolvedCubeMapRenderTechnique::colorCubeMapRunChanged RenderingRun run  )  [protected, pure virtual]
 

Called if the changed run is a ColorCubeMapRenderingRun.

Parameters:
run pointer to the changed ColorCubeMapRenderingRun

Implemented in OgreConvolvedCubeMapRenderTechnique.

virtual RenderingRun* ConvolvedCubeMapRenderTechnique::createColorCubeMapRun  )  [protected, pure virtual]
 

Creates a ColorCubeMapRenderingRun.

Returns:
the new ColorCubeMapRenderingRun instance.

Implemented in OgreConvolvedCubeMapRenderTechnique.

virtual RenderingRun* ConvolvedCubeMapRenderTechnique::createReducedCubeMapRun  )  [protected, pure virtual]
 

Creates a ColorCubeMapRenderingRun.

Returns:
the new ColorCubeMapRenderingRun instance.

Implemented in OgreConvolvedCubeMapRenderTechnique.

virtual void ConvolvedCubeMapRenderTechnique::reducedCubeMapRunChanged RenderingRun run  )  [protected, pure virtual]
 

Called if the changed run is a ColorCubeMapRenderingRun.

Parameters:
run pointer to the changed ColorCubeMapRenderingRun

Implemented in OgreConvolvedCubeMapRenderTechnique.

void ConvolvedCubeMapRenderTechnique::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 ConvolvedCubeMapRenderTechnique::update unsigned long  frameNum  )  [virtual]
 

Updates the resources in the given frame.

Parameters:
frameNum the actual framenumber

Reimplemented from RenderTechnique.

Reimplemented in OgreConvolvedCubeMapRenderTechnique.


Member Data Documentation

float ConvolvedCubeMapRenderTechnique::angleTolerance [protected]
 

A value used in face skip test.

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

float ConvolvedCubeMapRenderTechnique::distTolerance [protected]
 

A value used in face skip test.

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

bool ConvolvedCubeMapRenderTechnique::useDistCalc [protected]
 

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

See also:
distTolerance

bool ConvolvedCubeMapRenderTechnique::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:36 2006 for GameTools Illumination Module by  doxygen 1.4.6-NO