Cache enable_3d_clouds flag
authorest31 <MTest31@outlook.com>
Mon, 4 May 2015 20:50:04 +0000 (22:50 +0200)
committerest31 <MTest31@outlook.com>
Mon, 4 May 2015 20:50:04 +0000 (22:50 +0200)
Small improvement on clouds rendering performance

src/clouds.cpp
src/clouds.h

index ff3f603d95454b13adb98de853be2cc4a8aec860..a42e588aa99666989bef614512791b1897a16219 100644 (file)
@@ -57,6 +57,8 @@ Clouds::Clouds(
 
        m_cloud_radius_i = g_settings->getU16("cloud_radius");
 
+       m_enable_3d = g_settings->getBool("enable_3d_clouds");
+
        m_box = core::aabbox3d<f32>(-BS*1000000,m_cloud_y-BS,-BS*1000000,
                        BS*1000000,m_cloud_y+BS,BS*1000000);
 
@@ -89,10 +91,9 @@ void Clouds::render()
 
        ScopeProfiler sp(g_profiler, "Rendering of clouds, avg", SPT_AVG);
        
-       bool enable_3d = g_settings->getBool("enable_3d_clouds");
-       int num_faces_to_draw = enable_3d ? 6 : 1;
+       int num_faces_to_draw = m_enable_3d ? 6 : 1;
        
-       m_material.setFlag(video::EMF_BACK_FACE_CULLING, enable_3d);
+       m_material.setFlag(video::EMF_BACK_FACE_CULLING, m_enable_3d);
 
        driver->setTransform(video::ETS_WORLD, AbsoluteTransformation);
        driver->setMaterial(m_material);
index 70f12239ebc8c02280be62171125e074846e8048..348220fb14106e3ffc2c0b6db3b45d8479eb6d98 100644 (file)
@@ -88,6 +88,7 @@ private:
        core::aabbox3d<f32> m_box;
        float m_cloud_y;
        u16 m_cloud_radius_i;
+       bool m_enable_3d;
        video::SColorf m_color;
        u32 m_seed;
        v2f m_camera_pos;