CausticCubeMapRenderingRun Class Reference

Base abstract class that defines a rendering process of a caustic cubemap. More...

Inheritance diagram for CausticCubeMapRenderingRun:

RenderingRun OgreCausticCubeMapRenderingRun List of all members.

Public Member Functions

 CausticCubeMapRenderingRun (unsigned long startFrame, unsigned long updateInterval, unsigned int resolution, bool updateAllFace)
 Constructor.
virtual void photonMapChanged (RenderingRun *run)=0
 Called if the changed run is a PhotonMapRenderingRun.

Protected Member Functions

virtual void createCausticCubeMap ()=0
 Creates a cubemap texture used for the caustic-cubemap.
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

Detailed Description

Base abstract class that defines a rendering process of a caustic cubemap.

A caustic cubemap stores caustic light spots caused by a caustic emitter object.


Constructor & Destructor Documentation

CausticCubeMapRenderingRun::CausticCubeMapRenderingRun unsigned long  startFrame,
unsigned long  updateInterval,
unsigned int  resolution,
bool  updateAllFace
 

Constructor.

Parameters:
startFrame adds an offset to the current frame number to help evenly distribute updates between frames
updateInterval photon map update frequency
resolution photon map resolution
updateAllFace defines if all cubemap faces should be updated in a frame or only one face per frame


Member Function Documentation

virtual bool CausticCubeMapRenderingRun::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 OgreCausticCubeMapRenderingRun.

virtual void CausticCubeMapRenderingRun::photonMapChanged RenderingRun run  )  [pure virtual]
 

Called if the changed run is a PhotonMapRenderingRun.

Parameters:
run pointer to the changed PhotonMapRenderingRun

Implemented in OgreCausticCubeMapRenderingRun.

virtual void CausticCubeMapRenderingRun::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 OgreCausticCubeMapRenderingRun.

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

This function does the actual update in a frame.

Parameters:
frameNum current frame number

Reimplemented from RenderingRun.


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