diff --git a/projects/wobble_bobble/shaders/update_grid_forces.comp b/projects/wobble_bobble/shaders/update_grid_forces.comp index 73292a25cd9a32c103a57a15a3542ad827d20832..cb9b15d8cff5c254f584fc8fad600f8a8161c207 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 5a55400b05fc7d2784944bdf0dbe1b24b9008a28..a00fb7a0d0b8ac9efc4b4b91992a5d10fccb6e37 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 9f41267a653516ea2b5ba2ec29658df438ca224f..e711b734ea84bb6129c04320ef2b6e456761637f 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;