50 public Ogre::MaterialManager::Listener
55 typedef std::set<Ogre::SceneManager*> OgreSceneManagerList;
56 OgreSceneManagerList ogreSceneManagerList;
57 typedef std::map<Ogre::SceneManager*, Ogre::Camera*> StandardTextureCameraByScene;
58 StandardTextureCameraByScene standardTextureCameraByScene;
59 typedef std::map<Ogre::SceneManager*, std::vector<Ogre::Camera*> > CubicTextureCamerasByScene;
60 CubicTextureCamerasByScene cubicTextureCamerasByScene;
61 Ogre::TexturePtr shadowStandardTexture;
62 Ogre::MaterialPtr shadowStandardMaterial;
63 bool standardTextureNeedRebuild;
64 unsigned short standardTextureFsaa;
65 unsigned short standardTextureSize;
66 Ogre::PixelFormat standardTexturePixelFormat;
67 Ogre::TexturePtr shadowCubicTexture;
68 Ogre::MaterialPtr shadowCubicMaterial;
69 bool cubicTextureNeedRebuild;
70 unsigned short cubicTextureFsaa;
71 unsigned short cubicTextureSize;
72 Ogre::PixelFormat cubicTexturePixelFormat;
73 Ogre::Matrix4 PROJECTIONCLIPSPACE2DTOIMAGESPACE_PERSPECTIVE;
74 std::string deferredShadowStandardTextureName;
75 std::string deferredShadowStandardCameraName;
76 std::string deferredShadowStandardMaterialName;
77 std::string deferredShadowCubicTextureName;
78 std::string deferredShadowCubicCameraName;
79 std::string deferredShadowCubicMaterialName;
80 Ogre::ShadowCameraSetup* spotShadowCameraSetup;
81 Ogre::ShadowCameraSetup* pointShadowCameraSetup;
82 Ogre::ShadowCameraSetup* directionalShadowCameraSetup;
154 Ogre::TexturePtr&
PrepareShadowTexture(Ogre::Camera* ogreCamera, Ogre::Viewport* ogreViewport,
const Ogre::Light* light, Ogre::Pass* ogrePass);
159 virtual Ogre::Technique*
handleSchemeNotFound(
unsigned short schemeIndex,
const Ogre::String& schemeName, Ogre::Material* originalMaterial,
unsigned short lodIndex,
const Ogre::Renderable* rend);
164 void CreateShadowStandardTexture();
168 void CreateShadowCubicTexture();
172 void DestroyShadowStandardTexture();
176 void DestroyShadowCubicTexture();
180 void PrepareShadowTextureImpl(Ogre::SceneManager* ogreTargetScene, Ogre::Camera* ogreCamera, Ogre::Viewport* ogreViewport,
const Ogre::Light* ogreLight);
184 void PrepareShadowCubicTextureImpl(Ogre::SceneManager* ogreTargetScene, Ogre::Camera* ogreCamera, Ogre::Viewport* ogreViewport,
const Ogre::Light* ogreLight);