Main Page | Class Hierarchy | Class List | Directories | Class 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 updateStaticLightData ()
 Scans the RenderSystem and re-allocates rendering runs. Updates the PreComputingRuns associated to lights.
static void update (unsigned long frameNumber, RenderTarget *rt, CubeMapFaces cf=CUBEMAP_FACE_POSITIVE_X)

Static Public Attributes

static PointLightPreProcData * pointLights [32]
static unsigned int nPointLights
static unsigned int nAllocatedPointLights
static SpotLightPreProcData * spotLights [32]
static unsigned int nSpotLights
static unsigned int nAllocatedSpotLights
static DirectionalLightPreProcData * directionalLights [32]
static unsigned int nDirectionalLights
static unsigned int nAllocatedDirectionalLights


Detailed Description

A wrapper class for the illumination module data and functions.


Member Function Documentation

static void IlluminationManager::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 IlluminationManager::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:
frameCount 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.


Member Data Documentation

DirectionalLightPreProcData* IlluminationManager::directionalLights[32] [static]
 

The array of directional lights.

unsigned int IlluminationManager::nAllocatedDirectionalLights [static]
 

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

unsigned int IlluminationManager::nAllocatedPointLights [static]
 

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

unsigned int IlluminationManager::nAllocatedSpotLights [static]
 

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

unsigned int IlluminationManager::nDirectionalLights [static]
 

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

unsigned int IlluminationManager::nPointLights [static]
 

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

unsigned int IlluminationManager::nSpotLights [static]
 

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

PointLightPreProcData* IlluminationManager::pointLights[32] [static]
 

The array of point lights.

SpotLightPreProcData* IlluminationManager::spotLights[32] [static]
 

The array of spot lights.


The documentation for this class was generated from the following file:
Generated on Mon Apr 18 09:57:35 2005 for OGRE_IllumModule by  doxygen 1.4.2