mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-26 18:35:20 +00:00
fix batch lighting, removed the "bumping number of lights" hack
This commit is contained in:
parent
332671b43d
commit
ff8f95fcca
@ -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…
x
Reference in New Issue
Block a user