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

Merge branch 'fix_init' into 'master'

Fix initialization

See merge request OpenMW/openmw!1297
This commit is contained in:
psi29a 2021-10-16 12:55:22 +00:00
commit d8ab73353d
2 changed files with 7 additions and 8 deletions

View File

@ -49,8 +49,8 @@ namespace MWPhysics
btVector3 mScale; btVector3 mScale;
osg::Vec3f mPosition; osg::Vec3f mPosition;
osg::Quat mRotation; osg::Quat mRotation;
bool mScaleUpdatePending; bool mScaleUpdatePending = false;
bool mTransformUpdatePending; bool mTransformUpdatePending = false;
mutable std::mutex mPositionMutex; mutable std::mutex mPositionMutex;
PhysicsTaskScheduler* mTaskScheduler; PhysicsTaskScheduler* mTaskScheduler;
}; };

View File

@ -293,8 +293,13 @@ namespace MWRender
, mNavigator(navigator) , mNavigator(navigator)
, mMinimumAmbientLuminance(0.f) , mMinimumAmbientLuminance(0.f)
, mNightEyeFactor(0.f) , mNightEyeFactor(0.f)
// TODO: Near clip should not need to be bounded like this, but too small values break OSG shadow calculations CPU-side.
// See issue: #6072
, mNearClip(std::max(0.005f, Settings::Manager::getFloat("near clip", "Camera")))
, mViewDistance(Settings::Manager::getFloat("viewing distance", "Camera"))
, mFieldOfViewOverridden(false) , mFieldOfViewOverridden(false)
, mFieldOfViewOverride(0.f) , mFieldOfViewOverride(0.f)
, mFieldOfView(std::min(std::max(1.f, Settings::Manager::getFloat("field of view", "Camera")), 179.f))
{ {
bool reverseZ = SceneUtil::getReverseZ(); bool reverseZ = SceneUtil::getReverseZ();
@ -515,12 +520,6 @@ namespace MWRender
NifOsg::Loader::setIntersectionDisabledNodeMask(Mask_Effect); NifOsg::Loader::setIntersectionDisabledNodeMask(Mask_Effect);
Nif::NIFFile::setLoadUnsupportedFiles(Settings::Manager::getBool("load unsupported nif files", "Models")); Nif::NIFFile::setLoadUnsupportedFiles(Settings::Manager::getBool("load unsupported nif files", "Models"));
// TODO: Near clip should not need to be bounded like this, but too small values break OSG shadow calculations CPU-side.
// See issue: #6072
mNearClip = std::max(0.005f, Settings::Manager::getFloat("near clip", "Camera"));
mViewDistance = Settings::Manager::getFloat("viewing distance", "Camera");
float fov = Settings::Manager::getFloat("field of view", "Camera");
mFieldOfView = std::min(std::max(1.f, fov), 179.f);
float firstPersonFov = Settings::Manager::getFloat("first person field of view", "Camera"); float firstPersonFov = Settings::Manager::getFloat("first person field of view", "Camera");
mFirstPersonFieldOfView = std::min(std::max(1.f, firstPersonFov), 179.f); mFirstPersonFieldOfView = std::min(std::max(1.f, firstPersonFov), 179.f);
mStateUpdater->setFogEnd(mViewDistance); mStateUpdater->setFogEnd(mViewDistance);