Irrlicht 3D Engine
ILightManager.h
Go to the documentation of this file.
00001 // Written by Colin MacDonald - all rights assigned to Nikolaus Gebhardt
00002 // Copyright (C) 2008-2012 Nikolaus Gebhardt
00003 // This file is part of the "Irrlicht Engine".
00004 // For conditions of distribution and use, see copyright notice in irrlicht.h
00005 
00006 #ifndef __I_LIGHT_MANAGER_H_INCLUDED__
00007 #define __I_LIGHT_MANAGER_H_INCLUDED__
00008 
00009 #include "IReferenceCounted.h"
00010 #include "irrArray.h"
00011 
00012 namespace irr
00013 {
00014 namespace scene
00015 {
00016     class ILightSceneNode;
00017 
00019 
00025     class ILightManager : public IReferenceCounted
00026     {
00027     public:
00029 
00037         virtual void OnPreRender(core::array<ISceneNode*> & lightList) = 0;
00038 
00040 
00041         virtual void OnPostRender(void) = 0;
00042 
00044 
00045         virtual void OnRenderPassPreRender(E_SCENE_NODE_RENDER_PASS renderPass) = 0;
00046 
00048 
00049         virtual void OnRenderPassPostRender(E_SCENE_NODE_RENDER_PASS renderPass) = 0;
00050 
00052 
00053         virtual void OnNodePreRender(ISceneNode* node) = 0;
00054 
00056 
00057         virtual void OnNodePostRender(ISceneNode* node) = 0;
00058     };
00059 } // end namespace scene
00060 } // end namespace irr
00061 
00062 #endif