From 2f7b80cf1227fc1075abfaebc0e414e7757c942e Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Mon, 31 Jan 2022 17:44:53 +0100 Subject: [PATCH] Potential fix for invalid dt Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- projects/wobble_bobble/shaders/update_grid_forces.comp | 6 ++++-- .../wobble_bobble/shaders/update_particle_positions.comp | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/projects/wobble_bobble/shaders/update_grid_forces.comp b/projects/wobble_bobble/shaders/update_grid_forces.comp index b36becf0..b0de5190 100644 --- a/projects/wobble_bobble/shaders/update_grid_forces.comp +++ b/projects/wobble_bobble/shaders/update_grid_forces.comp @@ -82,8 +82,10 @@ void main() { } } - if (mass > 0.0f) { - velocity += force * dt / mass; + if (dt > 0.0f) { + if (mass > 0.0f) { + velocity += force * dt / mass; + } } bvec3 lowerID = lessThanEqual(gl_GlobalInvocationID, ivec3(0)); diff --git a/projects/wobble_bobble/shaders/update_particle_positions.comp b/projects/wobble_bobble/shaders/update_particle_positions.comp index 96dd7300..29d51dba 100644 --- a/projects/wobble_bobble/shaders/update_particle_positions.comp +++ b/projects/wobble_bobble/shaders/update_particle_positions.comp @@ -22,7 +22,9 @@ void main() { float size = particles[gl_GlobalInvocationID.x].minimal.size; vec3 velocity = particles[gl_GlobalInvocationID.x].minimal.velocity; - position = position + velocity * dt; + if (dt > 0.0f) { + position = position + velocity * dt; + } for (uint i = 0; i < 3; i++) { if (position[i] - size < 0.0f) { -- GitLab