Cache enable_3d_clouds flag

Small improvement on clouds rendering performance
This commit is contained in:
est31 2015-05-04 22:50:04 +02:00
parent 9345ba7b6a
commit 4b0f5fcbf5
2 changed files with 5 additions and 3 deletions

@ -57,6 +57,8 @@ Clouds::Clouds(
m_cloud_radius_i = g_settings->getU16("cloud_radius"); 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, m_box = core::aabbox3d<f32>(-BS*1000000,m_cloud_y-BS,-BS*1000000,
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); ScopeProfiler sp(g_profiler, "Rendering of clouds, avg", SPT_AVG);
bool enable_3d = g_settings->getBool("enable_3d_clouds"); int num_faces_to_draw = m_enable_3d ? 6 : 1;
int num_faces_to_draw = 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->setTransform(video::ETS_WORLD, AbsoluteTransformation);
driver->setMaterial(m_material); driver->setMaterial(m_material);

@ -88,6 +88,7 @@ private:
core::aabbox3d<f32> m_box; core::aabbox3d<f32> m_box;
float m_cloud_y; float m_cloud_y;
u16 m_cloud_radius_i; u16 m_cloud_radius_i;
bool m_enable_3d;
video::SColorf m_color; video::SColorf m_color;
u32 m_seed; u32 m_seed;
v2f m_camera_pos; v2f m_camera_pos;