Move updateTextureFiltering and material into the base class

pull/1225/head
scrawl 8 years ago
parent 5eff286c71
commit c487df0abb

@ -2,10 +2,8 @@
#include <memory>
#include <osg/Material>
#include <osg/Group>
#include "texturemanager.hpp"
#include "chunkmanager.hpp"
namespace Terrain
@ -15,9 +13,6 @@ TerrainGrid::TerrainGrid(osg::Group* parent, osg::Group* compileRoot, Resource::
: Terrain::World(parent, compileRoot, resourceSystem, ico, storage, nodeMask, preCompileMask)
, mNumSplits(4)
{
osg::ref_ptr<osg::Material> material (new osg::Material);
material->setColorMode(osg::Material::AMBIENT_AND_DIFFUSE);
mTerrainRoot->getOrCreateStateSet()->setAttributeAndModes(material, osg::StateAttribute::ON);
}
TerrainGrid::~TerrainGrid()
@ -89,9 +84,4 @@ void TerrainGrid::unloadCell(int x, int y)
mGrid.erase(it);
}
void TerrainGrid::updateTextureFiltering()
{
mTextureManager->updateTextureFiltering();
}
}

@ -33,10 +33,6 @@ namespace Terrain
/// @note Not thread safe.
virtual void unloadCell(int x, int y);
/// Apply the scene manager's texture filtering settings to all cached textures.
/// @note Thread safe.
void updateTextureFiltering();
private:
osg::ref_ptr<osg::Node> buildTerrain (osg::Group* parent, float chunkSize, const osg::Vec2f& chunkCenter);

@ -1,6 +1,8 @@
#include "world.hpp"
#include <osg/Group>
#include <osg/Material>
#include <osgUtil/IncrementalCompileOperation>
#include <components/resource/resourcesystem.hpp>
@ -23,6 +25,10 @@ World::World(osg::Group* parent, osg::Group* compileRoot, Resource::ResourceSyst
mTerrainRoot = new osg::Group;
mTerrainRoot->setNodeMask(nodeMask);
mTerrainRoot->getOrCreateStateSet()->setRenderingHint(osg::StateSet::OPAQUE_BIN);
osg::ref_ptr<osg::Material> material (new osg::Material);
material->setColorMode(osg::Material::AMBIENT_AND_DIFFUSE);
mTerrainRoot->getOrCreateStateSet()->setAttributeAndModes(material, osg::StateAttribute::ON);
mTerrainRoot->setName("Terrain Root");
osg::ref_ptr<CompositeMapRenderer> renderer (new CompositeMapRenderer);
@ -55,4 +61,9 @@ float World::getHeightAt(const osg::Vec3f &worldPos)
return mStorage->getHeightAt(worldPos);
}
void World::updateTextureFiltering()
{
mTextureManager->updateTextureFiltering();
}
}

@ -46,7 +46,9 @@ namespace Terrain
Storage* storage, int nodeMask, int preCompileMask);
virtual ~World();
virtual void updateTextureFiltering() {}
/// Apply the scene manager's texture filtering settings to all cached textures.
/// @note Thread safe.
void updateTextureFiltering();
float getHeightAt (const osg::Vec3f& worldPos);

Loading…
Cancel
Save