mirror of
https://github.com/OpenMW/openmw.git
synced 2025-03-31 14:07:35 +00:00
Merge branch 'expiredborders' into 'master'
Fix #7621 Closes #7621 See merge request OpenMW/openmw!3533
This commit is contained in:
commit
e67135a517
4 changed files with 9 additions and 6 deletions
|
@ -1319,6 +1319,7 @@ namespace MWRender
|
|||
const float lodFactor = Settings::terrain().mLodFactor;
|
||||
const bool groundcover = Settings::groundcover().mEnabled;
|
||||
const bool distantTerrain = Settings::terrain().mDistantTerrain;
|
||||
const double expiryDelay = Settings::cells().mCacheExpiryDelay;
|
||||
if (distantTerrain || groundcover)
|
||||
{
|
||||
const int compMapResolution = Settings::terrain().mCompositeMapResolution;
|
||||
|
@ -1329,7 +1330,7 @@ namespace MWRender
|
|||
const bool debugChunks = Settings::terrain().mDebugChunks;
|
||||
auto quadTreeWorld = std::make_unique<Terrain::QuadTreeWorld>(mSceneRoot, mRootNode, mResourceSystem,
|
||||
mTerrainStorage.get(), Mask_Terrain, Mask_PreCompile, Mask_Debug, compMapResolution, compMapLevel,
|
||||
lodFactor, vertexLodMod, maxCompGeometrySize, debugChunks, worldspace);
|
||||
lodFactor, vertexLodMod, maxCompGeometrySize, debugChunks, worldspace, expiryDelay);
|
||||
if (Settings::terrain().mObjectPaging)
|
||||
{
|
||||
newChunkMgr.mObjectPaging
|
||||
|
@ -1351,7 +1352,7 @@ namespace MWRender
|
|||
}
|
||||
else
|
||||
newChunkMgr.mTerrain = std::make_unique<Terrain::TerrainGrid>(mSceneRoot, mRootNode, mResourceSystem,
|
||||
mTerrainStorage.get(), Mask_Terrain, worldspace, Mask_PreCompile, Mask_Debug);
|
||||
mTerrainStorage.get(), Mask_Terrain, worldspace, expiryDelay, Mask_PreCompile, Mask_Debug);
|
||||
|
||||
newChunkMgr.mTerrain->setTargetFrameRate(Settings::cells().mTargetFramerate);
|
||||
float distanceMult = std::cos(osg::DegreesToRadians(std::min(mFieldOfView, 140.f)) / 2.f);
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "world.hpp"
|
||||
|
||||
#include <components/esm/util.hpp>
|
||||
#include <components/esm3/loadland.hpp>
|
||||
#include <components/resource/scenemanager.hpp>
|
||||
#include <components/terrain/storage.hpp>
|
||||
|
@ -25,7 +26,7 @@ namespace Terrain
|
|||
osg::ref_ptr<osg::Group> CellBorder::createBorderGeometry(float x, float y, float size, Terrain::Storage* terrain,
|
||||
Resource::SceneManager* sceneManager, int mask, ESM::RefId worldspace, float offset, osg::Vec4f color)
|
||||
{
|
||||
const int cellSize = ESM::Land::REAL_SIZE;
|
||||
const int cellSize = ESM::getCellSize(worldspace);
|
||||
const int borderSegments = 40;
|
||||
|
||||
osg::Vec3 cellCorner = osg::Vec3(x * cellSize, y * cellSize, 0);
|
||||
|
|
|
@ -280,8 +280,9 @@ namespace Terrain
|
|||
QuadTreeWorld::QuadTreeWorld(osg::Group* parent, osg::Group* compileRoot, Resource::ResourceSystem* resourceSystem,
|
||||
Storage* storage, unsigned int nodeMask, unsigned int preCompileMask, unsigned int borderMask,
|
||||
int compMapResolution, float compMapLevel, float lodFactor, int vertexLodMod, float maxCompGeometrySize,
|
||||
bool debugChunks, ESM::RefId worldspace)
|
||||
: TerrainGrid(parent, compileRoot, resourceSystem, storage, nodeMask, worldspace, preCompileMask, borderMask)
|
||||
bool debugChunks, ESM::RefId worldspace, double expiryDelay)
|
||||
: TerrainGrid(
|
||||
parent, compileRoot, resourceSystem, storage, nodeMask, worldspace, expiryDelay, preCompileMask, borderMask)
|
||||
, mViewDataMap(new ViewDataMap)
|
||||
, mQuadTreeBuilt(false)
|
||||
, mLodFactor(lodFactor)
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace Terrain
|
|||
QuadTreeWorld(osg::Group* parent, osg::Group* compileRoot, Resource::ResourceSystem* resourceSystem,
|
||||
Storage* storage, unsigned int nodeMask, unsigned int preCompileMask, unsigned int borderMask,
|
||||
int compMapResolution, float comMapLevel, float lodFactor, int vertexLodMod, float maxCompGeometrySize,
|
||||
bool debugChunks, ESM::RefId worldspace);
|
||||
bool debugChunks, ESM::RefId worldspace, double expiryDelay);
|
||||
|
||||
~QuadTreeWorld();
|
||||
|
||||
|
|
Loading…
Reference in a new issue