forked from mirror/openmw-tes3mp
Handle fog density values of 0 (Bug #1549)
This commit is contained in:
parent
cbec0ffaee
commit
d296c6e9b7
1 changed files with 12 additions and 3 deletions
|
@ -506,10 +506,19 @@ void RenderingManager::configureFog(const float density, const Ogre::ColourValue
|
||||||
mFogColour = colour;
|
mFogColour = colour;
|
||||||
float max = Settings::Manager::getFloat("max viewing distance", "Viewing distance");
|
float max = Settings::Manager::getFloat("max viewing distance", "Viewing distance");
|
||||||
|
|
||||||
mFogStart = max / (density) * Settings::Manager::getFloat("fog start factor", "Viewing distance");
|
if (density == 0)
|
||||||
mFogEnd = max / (density) * Settings::Manager::getFloat("fog end factor", "Viewing distance");
|
{
|
||||||
|
mFogStart = 0;
|
||||||
|
mFogEnd = std::numeric_limits<float>().max();
|
||||||
|
mRendering.getCamera()->setFarClipDistance (max);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mFogStart = max / (density) * Settings::Manager::getFloat("fog start factor", "Viewing distance");
|
||||||
|
mFogEnd = max / (density) * Settings::Manager::getFloat("fog end factor", "Viewing distance");
|
||||||
|
mRendering.getCamera()->setFarClipDistance (max / density);
|
||||||
|
}
|
||||||
|
|
||||||
mRendering.getCamera()->setFarClipDistance ( Settings::Manager::getFloat("max viewing distance", "Viewing distance") / density );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderingManager::applyFog (bool underwater)
|
void RenderingManager::applyFog (bool underwater)
|
||||||
|
|
Loading…
Reference in a new issue