1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-04 02:41:19 +00:00

Do not lose existing callbacks for sky node

This commit is contained in:
Andrei Kortunov 2023-06-22 15:18:53 +04:00
parent 7d6c33d283
commit aad7c5066d
2 changed files with 5 additions and 2 deletions

View File

@ -147,7 +147,8 @@ namespace MWRender
void PrecipitationOccluder::enable()
{
mSkyNode->setCullCallback(new PrecipitationOcclusionUpdater(mDepthTexture));
mSkyCullCallback = new PrecipitationOcclusionUpdater(mDepthTexture);
mSkyNode->addCullCallback(mSkyCullCallback);
mCamera->setCullCallback(new DepthCameraUpdater);
mRootNode->removeChild(mCamera);
@ -156,8 +157,9 @@ namespace MWRender
void PrecipitationOccluder::disable()
{
mSkyNode->setCullCallback(nullptr);
mSkyNode->removeCullCallback(mSkyCullCallback);
mCamera->setCullCallback(nullptr);
mSkyCullCallback = nullptr;
mRootNode->removeChild(mCamera);
}

View File

@ -23,6 +23,7 @@ namespace MWRender
osg::Group* mSkyNode;
osg::Group* mSceneNode;
osg::Group* mRootNode;
osg::ref_ptr<osg::Callback> mSkyCullCallback;
osg::ref_ptr<osg::Camera> mCamera;
osg::ref_ptr<osg::Camera> mSceneCamera;
osg::ref_ptr<osg::Texture2D> mDepthTexture;