From 0939ded5170237793ea63cceb9cef7d91359f161 Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Thu, 3 Feb 2022 15:34:54 +0100 Subject: [PATCH] Removed grid collision handling Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- .../shaders/update_grid_forces.comp | 17 ----------------- .../shaders/update_particle_velocities.comp | 2 +- projects/wobble_bobble/src/main.cpp | 4 ++-- 3 files changed, 3 insertions(+), 20 deletions(-) diff --git a/projects/wobble_bobble/shaders/update_grid_forces.comp b/projects/wobble_bobble/shaders/update_grid_forces.comp index 73292a25..cb9b15d8 100644 --- a/projects/wobble_bobble/shaders/update_grid_forces.comp +++ b/projects/wobble_bobble/shaders/update_grid_forces.comp @@ -27,7 +27,6 @@ shared Particle shared_particles [SHARED_PARTICLES_BATCH_SIZE]; void main() { barrier(); - memoryBarrierBuffer(); memoryBarrierShared(); memoryBarrierImage(); @@ -49,23 +48,7 @@ void main() { velocity += vec3(0.0f, -9.81f * dt, 0.0f); } - bvec3 lowerID = lessThanEqual(gl_GlobalInvocationID, ivec3(0)); - bvec3 negativeVelocity = lessThan(velocity, vec3(0.0f)); - - bvec3 greaterID = greaterThanEqual(gl_GlobalInvocationID + ivec3(1), imageSize(gridForceImage)); - bvec3 positiveVelocity = greaterThan(velocity, vec3(0.0f)); - - bvec3 invert = bvec3( - (lowerID.x && negativeVelocity.x) || (greaterID.x && positiveVelocity.x), - (lowerID.y && negativeVelocity.y) || (greaterID.y && positiveVelocity.y), - (lowerID.z && negativeVelocity.z) || (greaterID.z && positiveVelocity.z) - ); - - velocity = mix(velocity, -velocity, invert); - barrier(); - memoryBarrierBuffer(); - memoryBarrierShared(); memoryBarrierImage(); imageStore( diff --git a/projects/wobble_bobble/shaders/update_particle_velocities.comp b/projects/wobble_bobble/shaders/update_particle_velocities.comp index 5a55400b..a00fb7a0 100644 --- a/projects/wobble_bobble/shaders/update_particle_velocities.comp +++ b/projects/wobble_bobble/shaders/update_particle_velocities.comp @@ -84,7 +84,7 @@ void main() { mat3 delta = lame2 * (F * F_T - mat3(1.0f)) + lame1 * log(J); - mls_Q -= beta * dt * volume * delta * D_inv; + mls_Q += beta * dt * volume * delta * D_inv; } affine_C = affine_B * D_inv; diff --git a/projects/wobble_bobble/src/main.cpp b/projects/wobble_bobble/src/main.cpp index 9f41267a..e711b734 100644 --- a/projects/wobble_bobble/src/main.cpp +++ b/projects/wobble_bobble/src/main.cpp @@ -534,8 +534,8 @@ int main(int argc, const char **argv) { float compression_modulus = material.m_compression / 1E9; float elasticity_modulus = material.m_elasticity / 1E9; - float alpha = 1.0f; - float beta = 0.0f; + float alpha = 0.0f; + float beta = 1.0f; auto start = std::chrono::system_clock::now(); auto current = start; -- GitLab