+ /*video::SColor c_top(128,b*240,b*240,b*255);
+ video::SColor c_side_1(128,b*230,b*230,b*255);
+ video::SColor c_side_2(128,b*220,b*220,b*245);
+ video::SColor c_bottom(128,b*205,b*205,b*230);*/
+ video::SColorf c_top_f(m_color);
+ video::SColorf c_side_1_f(m_color);
+ video::SColorf c_side_2_f(m_color);
+ video::SColorf c_bottom_f(m_color);
+ c_side_1_f.r *= 0.95;
+ c_side_1_f.g *= 0.95;
+ c_side_1_f.b *= 0.95;
+ c_side_2_f.r *= 0.90;
+ c_side_2_f.g *= 0.90;
+ c_side_2_f.b *= 0.90;
+ c_bottom_f.r *= 0.80;
+ c_bottom_f.g *= 0.80;
+ c_bottom_f.b *= 0.80;
+ c_top_f.a = 0.9;
+ c_side_1_f.a = 0.9;
+ c_side_2_f.a = 0.9;
+ c_bottom_f.a = 0.9;
+ video::SColor c_top = c_top_f.toSColor();
+ video::SColor c_side_1 = c_side_1_f.toSColor();
+ video::SColor c_side_2 = c_side_2_f.toSColor();
+ video::SColor c_bottom = c_bottom_f.toSColor();
+
+ // Get fog parameters for setting them back later
+ video::SColor fog_color(0,0,0,0);
+ video::E_FOG_TYPE fog_type = video::EFT_FOG_LINEAR;
+ f32 fog_start = 0;
+ f32 fog_end = 0;
+ f32 fog_density = 0;
+ bool fog_pixelfog = false;
+ bool fog_rangefog = false;
+ driver->getFog(fog_color, fog_type, fog_start, fog_end, fog_density,
+ fog_pixelfog, fog_rangefog);
+
+ // Set our own fog
+ driver->setFog(fog_color, fog_type, cloud_full_radius * 0.5,
+ cloud_full_radius*1.2, fog_density, fog_pixelfog, fog_rangefog);
+
+ // Read noise
+
+ bool *grid = new bool[cloud_radius_i*2*cloud_radius_i*2];
+