Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# irr::scene::ILightManager Class Reference

ILightManager provides an interface for user applications to manipulate the list of lights in the scene. More...

`#include <ILightManager.h>`

Inheritance diagram for irr::scene::ILightManager:

List of all members.

## Public Member Functions
virtual void | OnNodePostRender (ISceneNode *node)=0
| Called after the the node specified in OnNodePreRender() has been rendered.
virtual void | OnNodePreRender (ISceneNode *node)=0
| Called before the given scene node is rendered.
virtual void | OnPostRender (void)=0
| Called after the last scene node is rendered.
virtual void | OnPreRender (core::array< ILightSceneNode * > &lightList)=0
| Called after the scene's light list has been built, but before rendering has begun.
virtual void | OnRenderPassPostRender (E_SCENE_NODE_RENDER_PASS renderPass)=0
| Called after the render pass specified in OnRenderPassPreRender() ends.
virtual void | OnRenderPassPreRender (E_SCENE_NODE_RENDER_PASS renderPass)=0
| Called before a render pass begins.

## Detailed Description

ILightManager provides an interface for user applications to manipulate the list of lights in the scene.

The light list can be trimmed or re-ordered before device/ hardware lights are created, and/or individual lights can be switched on and off before or after each scene node is rendered. It is assumed that the ILightManager implementation will store any data that it wishes to retain, i.e. the ISceneManager to which it is assigned, the lightList, the current render pass, and the current scene node.

Definition at line 25 of file ILightManager.h.

## Member Function Documentation

virtual void irr::scene::ILightManager::OnNodePostRender | ( | ISceneNode * | node | ) | `[pure virtual]`

Called after the the node specified in OnNodePreRender() has been rendered.

Parameters:

  `[in]` | node,: | the scene node that has just been rendered

virtual void irr::scene::ILightManager::OnNodePreRender | ( | ISceneNode * | node | ) | `[pure virtual]`

Called before the given scene node is rendered.

Parameters:

  `[in]` | node,: | the scene node that's about to be rendered

virtual void irr::scene::ILightManager::OnPostRender | ( | void |  | ) | `[pure virtual]`

Called after the last scene node is rendered.

After this call returns, the lightList passed to OnPreRender() becomes invalid.

virtual void irr::scene::ILightManager::OnPreRender | ( | core::array< ILightSceneNode * > & | lightList | ) | `[pure virtual]`

Called after the scene's light list has been built, but before rendering has begun.

As actual device/hardware lights are not created until the ESNRP_LIGHT render pass, this provides an opportunity for the light manager to trim or re-order the light list, before any device/hardware lights have actually been created.

Parameters:

  | lightList,: | the Scene Manager's light list, which the light manager may modify. This reference will remain valid until OnPostRender().

virtual void irr::scene::ILightManager::OnRenderPassPostRender | ( | E_SCENE_NODE_RENDER_PASS | renderPass | ) | `[pure virtual]`

Called after the render pass specified in OnRenderPassPreRender() ends.

Parameters:

  `[in]` | renderPass,: | the render pass that has finished

virtual void irr::scene::ILightManager::OnRenderPassPreRender | ( | E_SCENE_NODE_RENDER_PASS | renderPass | ) | `[pure virtual]`

Called before a render pass begins.

Parameters:

  | renderPass,: | the render pass that's about to begin

The documentation for this class was generated from the following file:

- ILightManager.h

| The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Oct 24 12:42:07 2010 by Doxygen (1.6.2)