mirror of
https://github.com/OpenMW/openmw.git
synced 2025-03-31 11:36:40 +00:00
Merge branch 'store_multiview' into 'master'
Avoid calling getMultiview from ~StereoFrustumManager See merge request OpenMW/openmw!2091
This commit is contained in:
commit
c81e94ebee
2 changed files with 4 additions and 2 deletions
|
@ -96,8 +96,9 @@ namespace Stereo
|
||||||
: mCamera(camera)
|
: mCamera(camera)
|
||||||
, mShadowTechnique(nullptr)
|
, mShadowTechnique(nullptr)
|
||||||
, mShadowFrustumCallback(nullptr)
|
, mShadowFrustumCallback(nullptr)
|
||||||
|
, mMultiview(Stereo::getMultiview())
|
||||||
{
|
{
|
||||||
if (Stereo::getMultiview())
|
if (mMultiview)
|
||||||
{
|
{
|
||||||
#ifdef OSG_HAS_MULTIVIEW
|
#ifdef OSG_HAS_MULTIVIEW
|
||||||
mMultiviewFrustumCallback = new MultiviewFrustumCallback(this);
|
mMultiviewFrustumCallback = new MultiviewFrustumCallback(this);
|
||||||
|
@ -118,7 +119,7 @@ namespace Stereo
|
||||||
|
|
||||||
StereoFrustumManager::~StereoFrustumManager()
|
StereoFrustumManager::~StereoFrustumManager()
|
||||||
{
|
{
|
||||||
if (Stereo::getMultiview())
|
if (mMultiview)
|
||||||
{
|
{
|
||||||
#ifdef OSG_HAS_MULTIVIEW
|
#ifdef OSG_HAS_MULTIVIEW
|
||||||
mCamera->setInitialFrustumCallback(nullptr);
|
mCamera->setInitialFrustumCallback(nullptr);
|
||||||
|
|
|
@ -64,6 +64,7 @@ namespace Stereo
|
||||||
osg::ref_ptr<osg::Camera> mCamera;
|
osg::ref_ptr<osg::Camera> mCamera;
|
||||||
osg::ref_ptr<SceneUtil::MWShadowTechnique> mShadowTechnique;
|
osg::ref_ptr<SceneUtil::MWShadowTechnique> mShadowTechnique;
|
||||||
osg::ref_ptr<ShadowFrustumCallback> mShadowFrustumCallback;
|
osg::ref_ptr<ShadowFrustumCallback> mShadowFrustumCallback;
|
||||||
|
bool mMultiview;
|
||||||
std::map< osgUtil::CullVisitor*, osgUtil::CullVisitor*> mSharedFrustums;
|
std::map< osgUtil::CullVisitor*, osgUtil::CullVisitor*> mSharedFrustums;
|
||||||
osg::BoundingBoxd mBoundingBox;
|
osg::BoundingBoxd mBoundingBox;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue