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