From f228253fb8bda28b8a187355d727a0babb60d884 Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Fri, 4 Feb 2022 19:09:02 +0100 Subject: [PATCH] Nearly no explosions at all Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- .../wobble_bobble/shaders/transform_particles_to_grid.comp | 4 ++-- .../wobble_bobble/shaders/update_particle_velocities.comp | 2 +- projects/wobble_bobble/src/main.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/projects/wobble_bobble/shaders/transform_particles_to_grid.comp b/projects/wobble_bobble/shaders/transform_particles_to_grid.comp index 49df3479..7e999944 100644 --- a/projects/wobble_bobble/shaders/transform_particles_to_grid.comp +++ b/projects/wobble_bobble/shaders/transform_particles_to_grid.comp @@ -71,7 +71,7 @@ void main() { memoryBarrierShared(); } - gridValue.xyz += vec3(0.0f, -9.81f * dts * gridValue.w, 0.0f); + gridValue.xyz += vec3(0.0f, -9.81f * dts * gridValue.w * 0.0f, 0.0f); gridValue.xyz /= gridValue.w; if (any(isnan(gridValue.xyz)) || any(isinf(gridValue.xyz))) { @@ -90,7 +90,7 @@ void main() { (lowerID.z && negativeVelocity.z) || (greaterID.z && positiveVelocity.z) ); - gridValue.xyz = mix(gridValue.xyz, vec3(0.0f), collision); + gridValue.xyz = mix(gridValue.xyz, -gridValue.xyz, collision); barrier(); memoryBarrierShared(); diff --git a/projects/wobble_bobble/shaders/update_particle_velocities.comp b/projects/wobble_bobble/shaders/update_particle_velocities.comp index c5f53ee0..65cb6f7f 100644 --- a/projects/wobble_bobble/shaders/update_particle_velocities.comp +++ b/projects/wobble_bobble/shaders/update_particle_velocities.comp @@ -85,7 +85,7 @@ void main() { mat3 delta = lame2 * (F - F_T_inv) + lame1 * log(J) * F_T_inv; mat3 stress = (1.0f / J) * delta * F_T; - mls_Q -= dts * volume * stress * D_inv; + mls_Q -= dts * volume * D_inv * stress; } affine_C = affine_B * D_inv; diff --git a/projects/wobble_bobble/src/main.cpp b/projects/wobble_bobble/src/main.cpp index 7d69a2e7..492b75cf 100644 --- a/projects/wobble_bobble/src/main.cpp +++ b/projects/wobble_bobble/src/main.cpp @@ -171,13 +171,13 @@ int main(int argc, const char **argv) { swapchainExtent.height ).getHandle(); - glm::vec3 initialVelocity (0.0f, 1.0f, 0.0f); + glm::vec3 initialVelocity (0.0f, 0.1f, 0.0f); float density = 2500.0f; float radius = 0.1f; vkcv::Buffer<Particle> particles = core.createBuffer<Particle>( vkcv::BufferType::STORAGE, - 64 + 256 ); resetParticles(particles, initialVelocity, density, radius); -- GitLab