Apply broadcast parameter to all particles.
187{
188 if (param == "gravity") {
190 } else if (param == "drag") {
191 m_drag = glm::clamp(
static_cast<float>(value), 0.0F, 1.0F);
192 } else if (param == "turbulence") {
194 glm::vec3 random_force(
195 (static_cast<float>(rand()) / RAND_MAX - 0.5F) * 2.0F,
196 (static_cast<float>(rand()) / RAND_MAX - 0.5F) * 2.0F,
197 (static_cast<float>(rand()) / RAND_MAX - 0.5F) * 2.0F);
198 particle.force += random_force * static_cast<float>(value);
199 }
200 } else if (param == "attraction") {
202 } else if (param == "spring_stiffness") {
204 } else if (param == "repulsion_strength") {
206 } else if (param == "force_x") {
208 particle.force.x += static_cast<float>(value);
209 }
210 } else if (param == "force_y") {
212 particle.force.y += static_cast<float>(value);
213 }
214 } else if (param == "force_z") {
216 particle.force.z += static_cast<float>(value);
217 }
218 }
219}
float m_attraction_strength
std::vector< ParticleNode > m_particles
float m_repulsion_strength