+
+bool Clouds::gridFilled(int x, int y) const
+{
+ float cloud_size_noise = cloud_size / (BS * 200.f);
+ float noise = noise2d_perlin(
+ (float)x * cloud_size_noise,
+ (float)y * cloud_size_noise,
+ m_seed, 3, 0.5);
+ // normalize to 0..1 (given 3 octaves)
+ static constexpr const float noise_bound = 1.0f + 0.5f + 0.25f;
+ float density = noise / noise_bound * 0.5f + 0.5f;
+ return (density < m_params.density);
+}