- _precipitationEffect->setParticleSize(0.02f + 0.03f*_snow_intensity);
- _precipitationEffect->setMaximumParticleDensity(_snow_intensity * 7.2f);
+ if(_droplet_external)
+ {
+
+ if ((_freeze) && (_rain_droplet_size > 0.03)) // this is hail or sleet
+ {
+ _precipitationEffect->setParticleSize(_rain_droplet_size*1.5f);
+ _precipitationEffect->setParticleSpeed( -1.0f - 22.36f*sqrtf(_rain_droplet_size));
+ _precipitationEffect->setMaximumParticleDensity(_snow_intensity * 4.8f);
+ }
+ else if (_freeze) // this is snow from frozen small rain droplets
+ {
+ _precipitationEffect->setParticleSize(_rain_droplet_size*1.3f);
+ _precipitationEffect->setParticleSpeed( -0.75f - 0.25f*_snow_intensity);
+ _precipitationEffect->setMaximumParticleDensity(_snow_intensity * 10.0f);
+ }
+ else // this was snow in the first place
+ {
+ _precipitationEffect->setParticleSize(_snow_flake_size);
+ _precipitationEffect->setParticleSpeed( -0.75f - 0.25f*_snow_intensity);
+ _precipitationEffect->setMaximumParticleDensity(_snow_intensity * 7.2f);
+ }
+ }
+ else
+ {
+ _precipitationEffect->setMaximumParticleDensity(_snow_intensity * 7.2f);
+ _precipitationEffect->setParticleSize(0.02f + 0.03f*_snow_intensity);
+ _precipitationEffect->setParticleSpeed( -0.75f - 0.25f*_snow_intensity);
+ }
+
+