11#ifdef SO3_BUILD_DEFERRED
23 SShadow::SShadow() : SData(
"")
40#if SO3_ENABLE_DEFERRED_CUSTOM_SHADOWS == 1
48#if SO3_ENABLE_DEFERRED_CUSTOM_SHADOWS == 1
53 ogreScene->setShadowTechnique(Ogre::SHADOWTYPE_NONE);
120 mCompInstance = instance;
130 if (mCompInstance->getEnabled() && (sm->getShadowTechnique() != Ogre::SHADOWTYPE_NONE))
132 Ogre::Viewport* viewport = mCompInstance->getChain()->getViewport();
133 Ogre::Camera* cam = viewport->getCamera();
136 Ogre::SceneManager::RenderContext* context = sm->_pauseRendering();
138 sm->prepareShadowTextures(cam, viewport);
140 sm->_resumeRendering(context);
void RegisterSceneManager(Ogre::SceneManager *targetScene)
static SDeferredShadowManager & getSingleton()
void UnregisterSceneManager(Ogre::SceneManager *existingScene)
Ogre::SceneManager * GetOgreScenePointer()
virtual void UpdateShadowTechnique()=0
Ogre::ShadowCameraSetupPtr GetCameraSetup()
SShadowManager * shadowManager
Ogre::ShadowCameraSetupPtr cameraSetup
Ogre::SceneManager * ogreScene
virtual void UpdateShadowMaterial(Ogre::Technique *tech)
virtual void RemoveMaterialPass(Ogre::Technique *tech)
void SetCameraSetup(Ogre::ShadowCameraSetupPtr shadowCameraSetup)
SShadowManager * GetShadowManager()
SShadowManager::ShadowType GetShadowType()
virtual bool IsShadowMaterialPass(Ogre::Pass *pass)
SScene * GetParentScene()
virtual ~SShadowViewport()
virtual void UpdateCamera(Ogre::Camera *cam)
Ogre::Viewport * targetViewport
SShadowViewport(Ogre::Viewport *viewport)
virtual Ogre::CompositorInstance::RenderSystemOperation * createOperation(Ogre::CompositorInstance *instance, const Ogre::CompositionPass *pass)
virtual void execute(Ogre::SceneManager *sm, Ogre::RenderSystem *rs)
ShadowCompositorRenderOperation(Ogre::CompositorInstance *instance, const Ogre::CompositionPass *pass)
virtual ~ShadowCompositorRenderOperation()