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

LightMapRenderingRun Class Reference

Computes the indirect diffuse illumination for an entity (the level geometry, typically). More...

#include <LightMapRenderingRun.h>

Inheritance diagram for LightMapRenderingRun:

PreComputingRun List of all members.

Public Member Functions

unsigned int getIterations (void)
 Sets the number of iterations.
const String & getResultTextureName ()
void initialRendering ()
void iterate ()
 LightMapRenderingRun (unsigned int width, unsigned int height, unsigned char numberOfMipmapLevels, unsigned int lod, Entity *entity)
void setIterations (unsigned int iterations)
 Sets the number of iterations.
void update ()
 ~StochasticRadiosityRun ()

Private Member Functions

void calculateRadiosityMipmaps (unsigned int iterationCount)
void chooseShooter (unsigned int iterationCount)
 Chooses a shooter.

Private Attributes

EmissionMapPassManageremissionMapPassManager
Entity * entity
bool fullScreen
unsigned int iterations
IterationVisibilityMapPassiterationVisibilityMapPass
Vector4 lShoot
RenderTexture * mrtTexture0
RenderTexture * mrtTexture1
unsigned char numberOfMipmapLevels
OrigVismapPassorigVismapPass
float py
RadActualAveragingPass * radActualAveragingPass
RadAveragingPassradAveragingPass
RadiosityMapPassradiosityMapPass
RadiosityMipmapPass ** radiosityMipmapPasses
SearchEndPasssearchEndPass
SearchPass ** searchPasses
SearchStartPasssearchStartPass

Detailed Description

Computes the indirect diffuse illumination for an entity (the level geometry, typically).


Constructor & Destructor Documentation

LightMapRenderingRun unsigned int  width,
unsigned int  height,
unsigned char  numberOfMipmapLevels,
unsigned int  lod,
Entity *  entity
 

Constructor.

Parameters:
width The width of render texture objects.
height The height of render texture objects.
numberOfMipmapLevels The number of mip map levels for radiosity texture objects.
lod The level of detail factor.
entity The entity to render.

~StochasticRadiosityRun  ) 
 

Destructor.


Member Function Documentation

void calculateRadiosityMipmaps unsigned int  iterationCount  )  [private]
 

Calculates radiosity mipmap levels.

Parameters:
iterationCount current number of iterations.

void chooseShooter unsigned int  iterationCount  )  [private]
 

Chooses a shooter.

Parameters:
iterationCount current number of iterations.

unsigned int getIterations void   )  [inline]
 

Sets the number of iterations.

Returns:
The number of iterations to do.

const String& getResultTextureName  )  [virtual]
 

See also:
PreComputingRun::getResultTextureName();

Reimplemented from PreComputingRun.

void initialRendering  ) 
 

Renders initial visibility and emission into their respective textures.

void iterate  ) 
 

Iteration to calculate lightmap. Generates mipmaps, chooses a shooter then calculates visibility and radiosity for all 5 shooter hemicube sides. Finally it averages the current radiosity with the one calculated from the shooter.

void setIterations unsigned int  iterations  )  [inline]
 

Sets the number of iterations.

Parameters:
iterations The number of iterations to do.

void update  )  [virtual]
 

See also:
PreComputingRun::update();

Implements PreComputingRun.


Member Data Documentation

EmissionMapPassManager* emissionMapPassManager [private]
 

Manages rendering to emission textures.

Entity* entity [private]
 

The entity to render.

bool fullScreen [private]
 

Render to full or half screen. For hemicube shooting.

unsigned int iterations [private]
 

The number of iterations to do.

IterationVisibilityMapPass* iterationVisibilityMapPass [private]
 

Calculates per iteration visibility texture.

Vector4 lShoot [private]
 

The radiance of the shooter. Alpha is the area of the uniform disc to shoot from.

RenderTexture* mrtTexture0 [private]
 

Render texture object for search passes, that require multiple render targets.

RenderTexture* mrtTexture1 [private]
 

Render texture object for search passes, that require multiple render targets.

unsigned char numberOfMipmapLevels [private]
 

The number of mipmap levels.

OrigVismapPass* origVismapPass [private]
 

Manages rendering to original visibility maps.

float py [private]
 

The power of the shooter divided by the texture area.

RadActualAveragingPass* radActualAveragingPass [private]
 

Averages the per pass radiosity textures.

RadAveragingPass* radAveragingPass [private]
 

Averages the per iteration radiosity textures.

RadiosityMapPass* radiosityMapPass [private]
 

Calculates per iteration actual radiosity texture.

RadiosityMipmapPass** radiosityMipmapPasses [private]
 

'Mipmaps' the actual radiosity texture for searching and calculating total power.

SearchEndPass* searchEndPass [private]
 

Ends the search for the next shooter.

SearchPass** searchPasses [private]
 

Searches the mipmaped actual radiosity textures for the next shooter..

SearchStartPass* searchStartPass [private]
 

Starts the search for the next shooter.


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