42 public Ogre::FrameListener,
43 public Ogre::ManualResourceLoader,
44 public Ogre::RenderTargetListener
49 Ogre::Camera* rttCamera;
50 Ogre::TexturePtr rttTexture;
51 Ogre::RenderTarget* rttTarget;
52 Ogre::MaterialPtr material;
53 Ogre::TextureUnitState* textureUnitState;
54 Ogre::TexturePtr oldTexture;
59 bool needTextureUpdate;
61 float cameraOriginalRatio;
62 std::string materialScheme;
76 void SetMaterial(
SMaterial* targetMaterial,
const int& targetTechnique,
const int& targetPass,
const int& targetTextureUnit);
80 void SetMaterialScheme(std::string scheme);
84 void SetSize(
const unsigned int& newSize);
88 unsigned int GetSize();
92 void SetEnable(
const bool& newState);
103 void SetAutoUpdate(
const bool& newAutoUpdateValue);
108 bool GetAutoUpdate();
118 SCompositor* CreateCompositor(
const std::string& newCompositorName,
const std::string& newSchemeName);
123 void DeleteCompositor(
SCompositor* existingCompositor);
127 void DeleteCompositor(
const std::string& existingCompositorName);
132 SCompositor* GetCompositor(
const std::string& compositorName);
142 void ClearCompositors();
146 virtual bool frameStarted(
const Ogre::FrameEvent& evt);
150 virtual bool frameEnded(
const Ogre::FrameEvent& evt);
154 virtual void loadResource(Ogre::Resource* resource);
158 virtual void windowResized(Ogre::RenderWindow* rw);
162 virtual void preViewportUpdate(
const Ogre::RenderTargetViewportEvent& evt);
166 virtual void postViewportUpdate(
const Ogre::RenderTargetViewportEvent& evt);
171 void AddCompositor(
SCompositor* existingCompositor);
176 void RemoveCompositor(
SCompositor* existingCompositor);
181 void RemoveCompositor(
const std::string& compositorName);
190 void SetTextureUnit();
194 void ResetTextureUnit();
198 void _CreateRenderTexture(
const unsigned int& newSize);
202 void _DeleteRenderTexture();
206 void EnableRendering();
210 void DisableRendering();
214 void UpdateCompositorViewport(Ogre::Viewport* vp);