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

IlluminationManager Class Reference

A wrapper class for the illumination module data and functions. More...

#include <IlluminationManager.h>

List of all members.

Static Public Member Functions

static void render (RenderTarget *rt, CubeMapFaces cf=CUBEMAP_FACE_POSITIVE_X)
 Render the scene as described for method update, but without executing any preprocessing. This method is typically called to execute a full final rendering on a render target different from the frame buffer. This is necessary e.g. for textured plane mirrors, or enviroment map faces.
static void update (unsigned long frameNumber, RenderTarget *rt, CubeMapFaces cf=CUBEMAP_FACE_POSITIVE_X)
static void updateStaticLightData ()
 Scans the RenderSystem and re-allocates rendering runs. Updates the PreComputingRuns associated to lights.

Static Public Attributes

static DirectionalLightPreProcDatadirectionalLights [32]
static ImageLightingSamplesRun imageLightingSamplesRun
static unsigned int nAllocatedDirectionalLights
static unsigned int nAllocatedPointLights
static unsigned int nAllocatedSpotLights
static unsigned int nDirectionalLights
static unsigned int nPointLights
static unsigned int nSpotLights
static PointLightPreProcDatapointLights [32]
static SpotLightPreProcDataspotLights [32]

Static Private Attributes

static bool computeDirectionalLightShadows
static bool computePointLightShadows
static bool computeSpotLightShadows
static bool performImageBasedLighting
static bool performPostRenderStep
static bool performPreRenderStep

Classes

class  DirectionalLightPreProcData
 An Ogre directional light with a depth map. More...
class  LightPreProcData
 Base structure for illumination module light sources, augmenting Ogre::Light data, and separating Light types. Subclasses contain PreProcessingRuns for per light preprocessing data, or extended light information like soft shadow light radius. More...
class  PointLightPreProcData
 An Ogre point light with a depth cube. More...
class  SpotLightPreProcData
 An Ogre spot light with a depth map. More...


Detailed Description

A wrapper class for the illumination module data and functions.


Member Function Documentation

static void render RenderTarget *  rt,
CubeMapFaces  cf = CUBEMAP_FACE_POSITIVE_X
[static]
 

Render the scene as described for method update, but without executing any preprocessing. This method is typically called to execute a full final rendering on a render target different from the frame buffer. This is necessary e.g. for textured plane mirrors, or enviroment map faces.

Parameters:
rt The render target to be rendered to. While this is typically the frame buffer, 'final' rendering can be performed for a texture output, e.g. when rendering an environment map.
cf Meaningful if the render target is a cube map. Identifies the face to be rendered to.

static void update unsigned long  frameNumber,
RenderTarget *  rt,
CubeMapFaces  cf = CUBEMAP_FACE_POSITIVE_X
[static]
 

This method replaces the standard OGRE rendering pipeline. As opposed to the standard pipeline, entities do not only have a single assigned material, but a FinalRenderingRun of arbitrary complexity, including multiple passes and switching render targets between them. FinalRenderingRuns also define what preprocessing is to be done in a frame. Before rendering all the entities using their associated FinalRenderingRun's FinalRenderingRun::renderSingleEntity, the necessary precomputed data is manufactured for every entity using its EntityRenderingObject's EntityRenderingObject::update.

Non entity-bound preprocessing (like creating spot light depth maps) is performed regularly, independent of entities within the scene.

Parameters:
frameNumber The current frame number. This is used to determine which preprocessing runs should be executed to update preprocessed data.
rt The render target to be rendered to. While this is typically the frame buffer, 'final' rendering can be performed for a texture output, e.g. when rendering an environment map.
cf Meaningful if the render target is a cube map. Identifies the face to be rendered to.

static void updateStaticLightData  )  [static]
 

Scans the RenderSystem and re-allocates rendering runs. Updates the PreComputingRuns associated to lights.


Member Data Documentation

bool computeDirectionalLightShadows [static, private]
 

bool computePointLightShadows [static, private]
 

bool computeSpotLightShadows [static, private]
 

DirectionalLightPreProcData* directionalLights[32] [static]
 

The array of directional lights.

ImageLightingSamplesRun imageLightingSamplesRun [static]
 

unsigned int nAllocatedDirectionalLights [static]
 

The number of allocated items in the array of directional lights.

unsigned int nAllocatedPointLights [static]
 

The number of allocated items in the array of point lights.

unsigned int nAllocatedSpotLights [static]
 

The number of allocated items in the array of spot lights.

unsigned int nDirectionalLights [static]
 

The number of actual lights in the array of directional lights.

unsigned int nPointLights [static]
 

The number of actual lights in the array of point lights.

unsigned int nSpotLights [static]
 

The number of actual lights in the array of spot lights.

bool performImageBasedLighting [static, private]
 

bool performPostRenderStep [static, private]
 

bool performPreRenderStep [static, private]
 

PointLightPreProcData* pointLights[32] [static]
 

The array of point lights.

SpotLightPreProcData* spotLights[32] [static]
 

The array of spot lights.


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