Add enable_2d_clouds setting for usage on lower-end machines

This commit is contained in:
Perttu Ahola 2011-10-18 23:55:55 +03:00
parent 9b907dd65a
commit d47120aeb3
2 changed files with 8 additions and 2 deletions

@ -21,8 +21,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "noise.h"
#include "constants.h"
#include "debug.h"
#include "main.h" // For g_profiler and g_settings
#include "profiler.h"
#include "main.h" // For g_profiler
#include "settings.h"
Clouds::Clouds(
scene::ISceneNode* parent,
@ -80,6 +81,10 @@ void Clouds::render()
ScopeProfiler sp(g_profiler, "Rendering of clouds, avg", SPT_AVG);
int num_faces_to_draw = 6;
if(g_settings->getBool("enable_2d_clouds"))
num_faces_to_draw = 1;
driver->setTransform(video::ETS_WORLD, AbsoluteTransformation);
driver->setMaterial(m_material);
@ -148,7 +153,7 @@ void Clouds::render()
f32 ry = 8*BS;
f32 rz = cloud_size;
for(int i=0;i<6;i++)
for(int i=0; i<num_faces_to_draw; i++)
{
switch(i)
{

@ -77,6 +77,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("invisible_stone", "false");
settings->setDefault("screenshot_path", ".");
settings->setDefault("view_bobbing_amount", "1.0");
settings->setDefault("enable_2d_clouds", "false");
// Server stuff
// "map-dir" doesn't exist by default.