Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

EntityRenderingObject Class Reference

This class and the FinalRenderingRun class encapsulate the complete illumination model implemented in the illumination workpackage. A EntityRenderingObject instance is stored with all Entities. More...

#include <EntityRenderingObject.h>

List of all members.

Public Member Functions

 EntityRenderingObject (Entity *owner, unsigned long startFrame, const RenderingType &renderingType)
 Constructor.
FinalRenderingRungetFinalRenderingRun ()
long getTypeID (void) const
 Inherted from Ogre::UserDefinedObject.
const String & getTypeName (void) const
 Inherted from Ogre::UserDefinedObject.
void updateCausticMap (long frameCount)
 Perform preprocessing necessary in this frame. Update the Visibility Ratio Map.
void updateEnvironmentCubes (long frameCount)
 Perform preprocessing necessary in this frame. Update the environment cubes. They are not always simultaneously updated, but can be set a different update interval.
void updateLightMap (long frameCount)
 Perform preprocessing necessary in this frame. Update the Light Map.
void updatePRM (long frameCount)
 Perform preprocessing necessary in this frame. Update the Precomputed Radiance Map.
void updateVRM (long frameCount)
 Perform preprocessing necessary in this frame. Update the Visibility Ratio Map.
 ~EntityRenderingObject (void)
 Destructor.

Static Public Attributes

static const long entityRenderingObjectTypeId
static const String entityRenderingObjectTypeName

Private Attributes

CausticMapRenderingRuncausticMapRun
DiffuseEnvironmentRun * diffuseEnvironmentRun
FinalRenderingRunfinalRenderingRun
FresnelEnvironmentRunfresnelEnvironmentRun
LightMapRenderingRunlightMapRun
PRMRunprmRun
SpecularEnvironmentRun * specularEnvironmentRun
unsigned long startFrame
VRMRenderingRunvrmRun


Detailed Description

This class and the FinalRenderingRun class encapsulate the complete illumination model implemented in the illumination workpackage. A EntityRenderingObject instance is stored with all Entities.


Constructor & Destructor Documentation

EntityRenderingObject Entity *  owner,
unsigned long  startFrame,
const RenderingType renderingType
 

Constructor.

Parameters:
owner The entity the EntityRenderingObject is linked to.
startFrame The current frame number. Update intervals starts from this frame.
renderingType The descriptor of the final rendering algorithm the Entity should use.

~EntityRenderingObject void   ) 
 

Destructor.


Member Function Documentation

FinalRenderingRun* getFinalRenderingRun  )  [inline]
 

Returns:
The encapsulated FinalRenderingRun instance.

long getTypeID void   )  const [inline]
 

Inherted from Ogre::UserDefinedObject.

Returns:
The UserDefinedObject subclass ID, for type reflection.

const String& getTypeName void   )  const [inline]
 

Inherted from Ogre::UserDefinedObject.

Returns:
The UserDefinedObject subclass name, for type reflection.

void updateCausticMap long  frameCount  ) 
 

Perform preprocessing necessary in this frame. Update the Visibility Ratio Map.

Parameters:
frameCount The current frame number. This is used to determine whether the preprocessed data should be updated.

void updateEnvironmentCubes long  frameCount  ) 
 

Perform preprocessing necessary in this frame. Update the environment cubes. They are not always simultaneously updated, but can be set a different update interval.

Parameters:
frameCount The current frame number. This is used to determine whether the preprocessed data should be updated.

void updateLightMap long  frameCount  ) 
 

Perform preprocessing necessary in this frame. Update the Light Map.

Parameters:
frameCount The current frame number. This is used to determine whether the preprocessed data should be updated.

void updatePRM long  frameCount  ) 
 

Perform preprocessing necessary in this frame. Update the Precomputed Radiance Map.

Parameters:
frameCount The current frame number. This is used to determine whether the preprocessed data should be updated.

void updateVRM long  frameCount  ) 
 

Perform preprocessing necessary in this frame. Update the Visibility Ratio Map.

Parameters:
frameCount The current frame number. This is used to determine whether the preprocessed data should be updated.


Member Data Documentation

CausticMapRenderingRun* causticMapRun [private]
 

The per-entity precomputing run, encapsulating a render-texture result, and the managed passes required to update the texture. The Caustic Map represents illumination due to caustic effects. NULL if not used.

DiffuseEnvironmentRun* diffuseEnvironmentRun [private]
 

The per-entity precomputing run, encapsulating a render-texture result, and the managed passes required to update the texture. The Diffuse Enviroment Map represents integrated environment radiance, weighted by Lambert shading BRDF. NULL if not used.

const long entityRenderingObjectTypeId [static]
 

Ogre::UserDefinedObject subclass ID, for type reflection.

const String entityRenderingObjectTypeName [static]
 

Ogre::UserDefinedObject subclass name, for type reflection.

FinalRenderingRun* finalRenderingRun [private]
 

Describes how the entity is rendered in the final rendering. Encapsulates a series of final passes, and provides an interface for setting uniform parameters and textures.

FresnelEnvironmentRun* fresnelEnvironmentRun [private]
 

The per-entity precomputing run, encapsulating a render-texture result, and the managed passes required to update the texture. The Diffuse Enviroment Map represents environment radiance. (For ideal reflections and refractions.) NULL if not used.

LightMapRenderingRun* lightMapRun [private]
 

The per-entity precomputing run, encapsulating a render-texture result, and the managed passes required to update the texture. The Light Map represents illumination due to static lighting. NULL if not used.

PRMRun* prmRun [private]
 

The per-entity precomputing run, encapsulating a render-texture result, and the managed passes required to update the texture. The Precomputed Radiance Map represents indirect (self) illumination due to dynamic lights. NULL if not used.

SpecularEnvironmentRun* specularEnvironmentRun [private]
 

The per-entity precomputing run, encapsulating a render-texture result, and the managed passes required to update the texture. The Diffuse Enviroment Map represents integrated environment radiance, weighted by Phong shading BRDF. NULL if not used.

unsigned long startFrame [private]
 

The frame number of the frame in which the entity was added. Update intervals date from this number.

VRMRenderingRun* vrmRun [private]
 

The per-entity precomputing run, encapsulating a render-texture result, and the managed passes required to update the texture. The Visibility Ratio Map represents direct illumination due to area lights. NULL if not used.


The documentation for this class was generated from the following file:
Generated on Mon Apr 18 10:59:27 2005 for OGRE_IllumModule by  doxygen 1.4.2