mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-22 21:40:42 +00:00
Remove no longer required use of UnrefQueue as the new resource manager will naturally clear the cache from the worker thread
This commit is contained in:
parent
35d53acc65
commit
2c68ed4fb4
@ -218,7 +218,7 @@ namespace MWRender
|
|||||||
Settings::Manager::getBool("auto use terrain normal maps", "Shaders"),
|
Settings::Manager::getBool("auto use terrain normal maps", "Shaders"),
|
||||||
Settings::Manager::getString("terrain specular map pattern", "Shaders"), Settings::Manager::getBool("auto use terrain specular maps", "Shaders"));
|
Settings::Manager::getString("terrain specular map pattern", "Shaders"), Settings::Manager::getBool("auto use terrain specular maps", "Shaders"));
|
||||||
mTerrain.reset(new Terrain::TerrainGrid(sceneRoot, mResourceSystem, mViewer->getIncrementalCompileOperation(),
|
mTerrain.reset(new Terrain::TerrainGrid(sceneRoot, mResourceSystem, mViewer->getIncrementalCompileOperation(),
|
||||||
mTerrainStorage, Mask_Terrain, &mResourceSystem->getSceneManager()->getShaderManager(), mUnrefQueue.get()));
|
mTerrainStorage, Mask_Terrain, &mResourceSystem->getSceneManager()->getShaderManager()));
|
||||||
|
|
||||||
mCamera.reset(new Camera(mViewer->getCamera()));
|
mCamera.reset(new Camera(mViewer->getCamera()));
|
||||||
|
|
||||||
|
@ -5,18 +5,15 @@
|
|||||||
#include <osg/Material>
|
#include <osg/Material>
|
||||||
#include <osg/Group>
|
#include <osg/Group>
|
||||||
|
|
||||||
#include <components/sceneutil/unrefqueue.hpp>
|
|
||||||
|
|
||||||
#include "texturemanager.hpp"
|
#include "texturemanager.hpp"
|
||||||
#include "chunkmanager.hpp"
|
#include "chunkmanager.hpp"
|
||||||
|
|
||||||
namespace Terrain
|
namespace Terrain
|
||||||
{
|
{
|
||||||
|
|
||||||
TerrainGrid::TerrainGrid(osg::Group* parent, Resource::ResourceSystem* resourceSystem, osgUtil::IncrementalCompileOperation* ico, Storage* storage, int nodeMask, Shader::ShaderManager* shaderManager, SceneUtil::UnrefQueue* unrefQueue)
|
TerrainGrid::TerrainGrid(osg::Group* parent, Resource::ResourceSystem* resourceSystem, osgUtil::IncrementalCompileOperation* ico, Storage* storage, int nodeMask, Shader::ShaderManager* shaderManager)
|
||||||
: Terrain::World(parent, resourceSystem, ico, storage, nodeMask)
|
: Terrain::World(parent, resourceSystem, ico, storage, nodeMask)
|
||||||
, mNumSplits(4)
|
, mNumSplits(4)
|
||||||
, mUnrefQueue(unrefQueue)
|
|
||||||
, mShaderManager(shaderManager)
|
, mShaderManager(shaderManager)
|
||||||
{
|
{
|
||||||
osg::ref_ptr<osg::Material> material (new osg::Material);
|
osg::ref_ptr<osg::Material> material (new osg::Material);
|
||||||
@ -92,9 +89,6 @@ void TerrainGrid::unloadCell(int x, int y)
|
|||||||
osg::ref_ptr<osg::Node> terrainNode = it->second;
|
osg::ref_ptr<osg::Node> terrainNode = it->second;
|
||||||
mTerrainRoot->removeChild(terrainNode);
|
mTerrainRoot->removeChild(terrainNode);
|
||||||
|
|
||||||
if (mUnrefQueue.get())
|
|
||||||
mUnrefQueue->push(terrainNode);
|
|
||||||
|
|
||||||
mGrid.erase(it);
|
mGrid.erase(it);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,11 +7,6 @@
|
|||||||
|
|
||||||
#include "world.hpp"
|
#include "world.hpp"
|
||||||
|
|
||||||
namespace SceneUtil
|
|
||||||
{
|
|
||||||
class UnrefQueue;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Shader
|
namespace Shader
|
||||||
{
|
{
|
||||||
class ShaderManager;
|
class ShaderManager;
|
||||||
@ -29,7 +24,7 @@ namespace Terrain
|
|||||||
class TerrainGrid : public Terrain::World
|
class TerrainGrid : public Terrain::World
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TerrainGrid(osg::Group* parent, Resource::ResourceSystem* resourceSystem, osgUtil::IncrementalCompileOperation* ico, Storage* storage, int nodeMask, Shader::ShaderManager* shaderManager = NULL, SceneUtil::UnrefQueue* unrefQueue = NULL);
|
TerrainGrid(osg::Group* parent, Resource::ResourceSystem* resourceSystem, osgUtil::IncrementalCompileOperation* ico, Storage* storage, int nodeMask, Shader::ShaderManager* shaderManager = NULL);
|
||||||
~TerrainGrid();
|
~TerrainGrid();
|
||||||
|
|
||||||
/// Load a terrain cell and store it in cache for later use.
|
/// Load a terrain cell and store it in cache for later use.
|
||||||
@ -56,8 +51,6 @@ namespace Terrain
|
|||||||
typedef std::map<std::pair<int, int>, osg::ref_ptr<osg::Node> > Grid;
|
typedef std::map<std::pair<int, int>, osg::ref_ptr<osg::Node> > Grid;
|
||||||
Grid mGrid;
|
Grid mGrid;
|
||||||
|
|
||||||
osg::ref_ptr<SceneUtil::UnrefQueue> mUnrefQueue;
|
|
||||||
|
|
||||||
Shader::ShaderManager* mShaderManager;
|
Shader::ShaderManager* mShaderManager;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user