ReducedCubeMapRenderingRun Class Reference

Base abstract class that defines a rendering process of a reduced sized color-cubemap. More...

Inheritance diagram for ReducedCubeMapRenderingRun:

RenderingRun OgreReducedCubeMapRenderingRun List of all members.

Public Member Functions

 ReducedCubeMapRenderingRun (unsigned long startFrame, unsigned long updateInterval, unsigned int resolution, bool useDistCalc, bool useFaceAngleCalc, float distTolerance, float angleTolerance, bool updateAllFace)
 Constructor.

Protected Member Functions

virtual void createReducedCubeMap ()=0
 Creates the reduced size cubemap texture.
virtual void updateCubeFace (int facenum)=0
 Updates one face of the cubemap.
virtual bool faceNeedsUpdate (int facenum)=0
 Checks if a cubemap face needs to be updated.
virtual void updateFrame (unsigned long frameNum)
 This function does the actual update in a frame.

Protected Attributes

bool updateAllFace
 defines if all cubemap faces should be updated in a frame or only one face per frame
unsigned char currentFace
 the number of the face to be updated
unsigned int resolution
 the resolution of the cubemap texture that was created by this run
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.

Detailed Description

Base abstract class that defines a rendering process of a reduced sized color-cubemap.

The resulting cubemap is a lower resolution variation of a color cube map. It is created with averaging the original cubemap. The lower resolution cubemap can be convolved faster and can efficiently be used in effects like diffuse reflection.


Constructor & Destructor Documentation

ReducedCubeMapRenderingRun::ReducedCubeMapRenderingRun unsigned long  startFrame,
unsigned long  updateInterval,
unsigned int  resolution,
bool  useDistCalc,
bool  useFaceAngleCalc,
float  distTolerance,
float  angleTolerance,
bool  updateAllFace
 

Constructor.

Parameters:
startFrame adds an offset to the current frame number to help evenly distribute updates between frames
updateInterval update frequency
resolution reduced 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


Member Function Documentation

virtual bool ReducedCubeMapRenderingRun::faceNeedsUpdate int  facenum  )  [protected, pure virtual]
 

Checks if a cubemap face needs to be updated.

If the object we are updating the cubemap for is far from the camera, or too small, or the given cubemapface does not have significant effect on the rendering the face can be skipped.

Parameters:
facenum the number of the face to be checked

Implemented in OgreReducedCubeMapRenderingRun.

virtual void ReducedCubeMapRenderingRun::updateCubeFace int  facenum  )  [inline, protected, pure virtual]
 

Updates one face of the cubemap.

Parameters:
facenum the number of the face to be updated

Implemented in OgreReducedCubeMapRenderingRun.

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

This function does the actual update in a frame.

Parameters:
frameNum current frame number

Reimplemented from RenderingRun.


Member Data Documentation

float ReducedCubeMapRenderingRun::angleTolerance [protected]
 

A value used in face skip test.

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

float ReducedCubeMapRenderingRun::distTolerance [protected]
 

A value used in face skip test.

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

bool ReducedCubeMapRenderingRun::useDistCalc [protected]
 

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

See also:
distTolerance

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