mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 21:53:51 +00:00
fix batch lighting, removed the "bumping number of lights" hack
This commit is contained in:
parent
332671b43d
commit
ff8f95fcca
2 changed files with 9 additions and 2 deletions
|
@ -101,6 +101,14 @@ void Objects::insertMesh (const MWWorld::Ptr& ptr, const std::string& mesh)
|
||||||
sg = mRenderer.getScene()->createStaticGeometry( "sg" + Ogre::StringConverter::toString(uniqueID));
|
sg = mRenderer.getScene()->createStaticGeometry( "sg" + Ogre::StringConverter::toString(uniqueID));
|
||||||
//Create the scenenode and put it in the map
|
//Create the scenenode and put it in the map
|
||||||
mStaticGeometry[ptr.getCell()] = sg;
|
mStaticGeometry[ptr.getCell()] = sg;
|
||||||
|
|
||||||
|
// This specifies the size of a single batch region.
|
||||||
|
// If it is set too high:
|
||||||
|
// - there will be problems choosing the correct lights
|
||||||
|
// - the culling will be more inefficient
|
||||||
|
// If it is set too low:
|
||||||
|
// - there will be too many batches.
|
||||||
|
sg->setRegionDimensions(Ogre::Vector3(1000,1000,1000));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -108,7 +116,6 @@ void Objects::insertMesh (const MWWorld::Ptr& ptr, const std::string& mesh)
|
||||||
}
|
}
|
||||||
|
|
||||||
sg->addEntity(ent,insert->_getDerivedPosition(),insert->_getDerivedOrientation(),insert->_getDerivedScale());
|
sg->addEntity(ent,insert->_getDerivedPosition(),insert->_getDerivedOrientation(),insert->_getDerivedScale());
|
||||||
sg->setRegionDimensions(Ogre::Vector3(100000,10000,100000));
|
|
||||||
|
|
||||||
mRenderer.getScene()->destroyEntity(ent);
|
mRenderer.getScene()->destroyEntity(ent);
|
||||||
}
|
}
|
||||||
|
|
|
@ -350,7 +350,7 @@ void NIFLoader::createMaterial(const String &name,
|
||||||
float num_lights;
|
float num_lights;
|
||||||
if (GpuProgramManager::getSingleton().isSyntaxSupported("fp40") ||
|
if (GpuProgramManager::getSingleton().isSyntaxSupported("fp40") ||
|
||||||
GpuProgramManager::getSingleton().isSyntaxSupported("ps_4_0"))
|
GpuProgramManager::getSingleton().isSyntaxSupported("ps_4_0"))
|
||||||
num_lights = 16 /* 32 */;
|
num_lights = 8 /* 32 */;
|
||||||
else
|
else
|
||||||
num_lights = 8;
|
num_lights = 8;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue