/** @file IPostEffect.h @brief 后期效果接口
* Copyright (c) 2007,第九城市游戏研发中心 * All rights reserved. * * 当前版本: * 作 者:史亚征 * 完成日期:2008-04-18 * * 取代版本: * 作 者:和萌 * 完成日期: * * 备 注:*/ #ifndef _POSTEFFECT_H #define _POSTEFFECT_H #pragma once #ifndef CODE_INGAME namespace SceneCore { class MAIN_ENTRY CPostEffect { public: CPostEffect(void); virtual ~CPostEffect(void); /// 初始化 //需要源textur virtual bool Init(NiRenderedTexturePtr pkSourceTexture); /// 销毁 virtual void Destory(); //Render virtual void PerformRendering(); /// 打开 or 关闭 virtual void SetActive(bool bActive); virtual const char* GetName() = 0; bool GetInitialized() const {return m_bInitialized;}; bool GetActive() const { return m_spRenderStep->GetActive(); }; unsigned int GetEffectID() { return m_uiEffectID; }; void SetEffectID(unsigned int uiID ); NiRenderStep* GetRenderStep() const { return m_spRenderStep; }; private: CPostEffect(CPostEffect&); protected: NiDefaultClickRenderStepPtr m_spRenderStep; // 默认RenderStep bool m_bInitialized; // 效果是否开启 unsigned int m_uiEffectID; }; }; #endif #endif