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