42 public Ogre::RenderTargetListener,
43 public Ogre::MaterialManager::Listener
49 Ogre::Camera* reflectionMapCamera;
50 Ogre::SceneNode* camNode;
51 Ogre::MovablePlane* reflectionMapPlane;
52 Ogre::MovablePlane* cameraClipPlane;
53 Ogre::TexturePtr reflectionMapTexture;
54 Ogre::RenderTarget* reflectionMapTargets;
55 Ogre::MaterialPtr material;
56 Ogre::MaterialPtr materialTransparent;
57 Ogre::String reflectionMapScheme;
58 unsigned int techIndex;
59 unsigned int passIndex;
60 unsigned int unitIndex;
62 Ogre::Sampler::UVWAddressingMode oldAdressingMode;
63 Ogre::TextureType oldTextureType;
64 Ogre::TextureUnitState::EnvMapType oldTextureEnvType;
65 bool oldTextureEnvState;
66 Ogre::TexturePtr oldTexture;
67 std::string previousScheme;
71 bool needTextureUpdate;
86 void SetMaterial(
SMaterial* targetMaterial,
const int& targetTechnique,
const int& targetPass,
const int& targetTextureUnit);
90 void SetSize(
const unsigned int& newSize);
94 unsigned int GetSize();
98 void SetEnable(
const bool& newState);
107 void SetRevertClipPlane(
const bool& newRevertClipPlaneValue);
112 bool GetRevertClipPlane();
117 void FlipPlane(
const bool& newFlip);
121 virtual void preRenderTargetUpdate(
const Ogre::RenderTargetEvent& evt);
125 virtual void postRenderTargetUpdate(
const Ogre::RenderTargetEvent& evt);
129 virtual Ogre::Technique* handleSchemeNotFound(
unsigned short schemeIndex,
const Ogre::String& schemeName, Ogre::Material* originalMaterial,
unsigned short lodIndex,
const Ogre::Renderable* rend);
140 void SetTextureUnit();
144 void ResetTextureUnit();
148 void _CreateReflectionMapTexture(
const unsigned int& newSize);
152 void _DeleteReflectionMapTexture();
156 void EnableRendering();
160 void DisableRendering();