#include <FinalRenderingRun.h>
Inheritance diagram for FinalRenderingRun:
Public Member Functions | |
FinalRenderingRun (Entity *owner) | |
Constructor. | |
virtual unsigned int | getCausticMapUpdateInterval () |
virtual unsigned int | getDiffuseEnvironmentUpdateInterval () |
virtual unsigned int | getFresnelEnvironmentUpdateInterval () |
virtual unsigned int | getLightMapUpdateInterval () |
virtual unsigned int | getPRMUpdateInterval () |
virtual unsigned int | getSpecularEnvironmentUpdateInterval () |
virtual unsigned int | getVRMUpdateInterval () |
virtual void | postRender (RenderTarget *backBuffer, CubeMapFaces cf=CUBEMAP_FACE_POSITIVE_X) |
Called after renderSingleEntity has been called for all entities. This is where additional effects can be blend-added to the final image. See FinalRenderingRun::renderSingleEntity for usage guidelines. However, it is encouraged to apply custom render states in this method. | |
virtual void | preRender (RenderTarget *backBuffer, CubeMapFaces cf=CUBEMAP_FACE_POSITIVE_X) |
Called before renderSingleEntity would be called for any entity. Could be useful e.g. for pre-rendering depth. See FinalRenderingRun::renderSingleEntity for usage guidelines. However, it is encouraged to apply custom render states in this method. | |
virtual void | renderSingleEntity (RenderTarget *backBuffer, CubeMapFaces cf=CUBEMAP_FACE_POSITIVE_X)=0 |
Perform the passes necessary to render the entity to the frame buffer, with all the illumination effects the implementing FinalRenderingRun-subclass supports. This method is called by IlluminationModule::update, after all the necessary preprocessing steps have been executed. Thus, the references (or names) that had been set via the virtual set<anything> functions reference the updated results. | |
virtual void | setCausticMapTexture (const String &causticMapTextureName) |
Set the entity's Caustic Map. Resources possibly re-computed later must be passed by reference or name. | |
virtual void | setCausticMapUpdateInterval (unsigned int updateIntervalNumOfFrames) |
Set the Caustic Map udate interval desired for the owner entity. If Caustic Map is not used, the method should have no effect. | |
virtual void | setDiffuseEnvironmentTextureCube (const String &diffuseEnvironmentTextureCubeName) |
Set the entity's Diffuse Environment Map. Resources possibly re-computed later must be passed by reference or name. | |
virtual void | setDiffuseEnvironmentUpdateInterval (unsigned int updateIntervalNumOfFrames) |
Set the DEM udate interval desired for the owner entity. If DEM is not used, the method should have no effect. | |
virtual void | setEntryPointsTexture (const String &entryPointsTextureName) |
virtual void | setFresnelEnvironmentTextureCube (const String &fresnelEnvironmentTextureCubeName) |
Set the entity's Fresnel Environment Map. Resources possibly re-computed later must be passed by reference or name. | |
virtual void | setFresnelEnvironmentUpdateInterval (unsigned int updateIntervalNumOfFrames) |
Set the FEM udate interval desired for the owner entity. If FEM is not used, the method should have no effect. | |
virtual void | setLightMapTexture (const String &lightMapTextureName) |
Set the entity's Light Map. Resources possibly re-computed later must be passed by reference or name. | |
virtual void | setLightMapUpdateInterval (unsigned int updateIntervalNumOfFrames) |
Set the Light Map udate interval desired for the owner entity. If Light Map is not used, the method should have no effect. | |
virtual void | setNClusters (unsigned int &nClusters) |
virtual void | setNEntryPoints (unsigned int &nEntryPoints) |
virtual void | setPRMTexture (const String &prmTextureName) |
Set the entity's Precomputed Radiance Map. Resources possibly re-computed later must be passed by reference or name. | |
virtual void | setPRMUpdateInterval (unsigned int updateIntervalNumOfFrames) |
Set the PRM udate interval desired for the owner entity. If PRM is not used, the method should have no effect. | |
virtual void | setSpecularEnvironmentTextureCube (const String &specularEnvironmentTextureCubeName) |
Set the entity's Specular Environment Map. Resources possibly re-computed later must be passed by reference or name. | |
virtual void | setSpecularEnvironmentUpdateInterval (unsigned int updateIntervalNumOfFrames) |
Set the SEM udate interval desired for the owner entity. If SEM is not used, the method should have no effect. | |
virtual void | setTileSize (unsigned int &tileSize) |
void | setVisible (bool visible) |
Calls Entity::setVisible. | |
virtual void | setVRMTexture (const String &vrmTextureName) |
Set the entity's Visibility Ratio Map (soft shadow map). Resources possibly re-computed later must be passed by reference or name. | |
virtual void | setVRMUpdateInterval (unsigned int updateIntervalNumOfFrames) |
Set the VRM udate interval desired for the owner entity. If VRM is not used, the method should have no effect. | |
Protected Attributes | |
Entity * | owner |
A FinalRenderingRun instance is stored with all Entities. What preprocessing is necessary for the final rendering is coded into classes derived from FinalRenderingRun. How often (in how many frames) those preprocessing runs are to be performed can be set.
Typically, a FinalRenderingRun-derived class has a number of static ManagedOgreRenderTexturePass instances for performing intermediate computations, and a non-static ManagedOgreRenderTexturePass member that renders to the frame buffer.
Data flow between runs
A RenderingRun gathers its input from the following sources:
|
Constructor.
|
|
Reimplemented in CausticsFinalRenderingRun. |
|
|
|
Reimplemented in EnvMapFinalGathering. |
|
Reimplemented in LightMapFinalRenderingRun. |
|
|
|
|
|
|
|
Called after renderSingleEntity has been called for all entities. This is where additional effects can be blend-added to the final image. See FinalRenderingRun::renderSingleEntity for usage guidelines. However, it is encouraged to apply custom render states in this method.
Reimplemented in ImageBasedLightingFinalRenderingRun. |
|
Called before renderSingleEntity would be called for any entity. Could be useful e.g. for pre-rendering depth. See FinalRenderingRun::renderSingleEntity for usage guidelines. However, it is encouraged to apply custom render states in this method.
|
|
Perform the passes necessary to render the entity to the frame buffer, with all the illumination effects the implementing FinalRenderingRun-subclass supports. This method is called by IlluminationModule::update, after all the necessary preprocessing steps have been executed. Thus, the references (or names) that had been set via the virtual set<anything> functions reference the updated results. This method is supposed to reproduce the behaviour of rendering an object using the standard OGRE pipeline. Thus, it is forbidden to commit any of the following:
Implemented in CausticsFinalRenderingRun, ImageBasedLightingFinalRenderingRun, LightMapFinalRenderingRun, EnvMapFinalGathering, and SoftShadowFinalRenderingRun. |
|
Set the entity's Caustic Map. Resources possibly re-computed later must be passed by reference or name.
|
|
Set the Caustic Map udate interval desired for the owner entity. If Caustic Map is not used, the method should have no effect.
Reimplemented in CausticsFinalRenderingRun. |
|
Set the entity's Diffuse Environment Map. Resources possibly re-computed later must be passed by reference or name.
|
|
Set the DEM udate interval desired for the owner entity. If DEM is not used, the method should have no effect.
|
|
|
|
Set the entity's Fresnel Environment Map. Resources possibly re-computed later must be passed by reference or name.
Reimplemented in EnvMapFinalGathering. |
|
Set the FEM udate interval desired for the owner entity. If FEM is not used, the method should have no effect.
Reimplemented in EnvMapFinalGathering. |
|
Set the entity's Light Map. Resources possibly re-computed later must be passed by reference or name.
Reimplemented in LightMapFinalRenderingRun. |
|
Set the Light Map udate interval desired for the owner entity. If Light Map is not used, the method should have no effect.
Reimplemented in LightMapFinalRenderingRun. |
|
|
|
|
|
Set the entity's Precomputed Radiance Map. Resources possibly re-computed later must be passed by reference or name.
|
|
Set the PRM udate interval desired for the owner entity. If PRM is not used, the method should have no effect.
|
|
Set the entity's Specular Environment Map. Resources possibly re-computed later must be passed by reference or name.
|
|
Set the SEM udate interval desired for the owner entity. If SEM is not used, the method should have no effect.
|
|
|
|
Calls Entity::setVisible.
|
|
Set the entity's Visibility Ratio Map (soft shadow map). Resources possibly re-computed later must be passed by reference or name.
|
|
Set the VRM udate interval desired for the owner entity. If VRM is not used, the method should have no effect.
|
|
The owner entity of this FinalRenderingRun instance. |