In-cloud fog: Strengthen effect when small view range is used
authorLars Hofhansl <larsh@apache.org>
Mon, 10 Jul 2017 13:43:06 +0000 (06:43 -0700)
committerparamat <mat.gregory@virginmedia.com>
Tue, 18 Jul 2017 21:16:41 +0000 (22:16 +0100)
Ensure in-cloud fog is always stronger than outside-of-cloud-fog even when
using a small view range.
Also limit in-cloud fog range to a maximum of 32 nodes to keep it fairly
strong when using a large view range.

src/game.cpp

index 71c410c8aefa04ec52339dc7134feb76a2a2fa24..ba48402035e6a93b9cf4013081ee45dc6372b512 100644 (file)
@@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "game.h"
 
 #include <iomanip>
+#include <cmath>
 #include "client/renderingengine.h"
 #include "camera.h"
 #include "client.h"
@@ -4124,7 +4125,7 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
                                                .getInterpolated(video::SColor(255, 0, 0, 0), 0.9);
                                sky->overrideColors(clouds_dark, clouds->getColor());
                                sky->setBodiesVisible(false);
-                               runData.fog_range = 20.0f * BS;
+                               runData.fog_range = std::fmin(runData.fog_range * 0.5f, 32.0f * BS);
                                // do not draw clouds after all
                                clouds->setVisible(false);
                        }