From 2b0b579602fd5519093c1996f1b0b2ca89acac10 Mon Sep 17 00:00:00 2001
From: Tobias Frisch <tfrisch@uni-koblenz.de>
Date: Tue, 1 Feb 2022 22:49:03 +0100
Subject: [PATCH] Removed branching which is not necessary

Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de>
---
 .../shaders/init_particle_volumes.comp        |  6 ++---
 .../shaders/update_particle_deformation.comp  | 14 +++++-------
 .../shaders/update_particle_velocities.comp   | 22 ++++++++-----------
 3 files changed, 17 insertions(+), 25 deletions(-)

diff --git a/projects/wobble_bobble/shaders/init_particle_volumes.comp b/projects/wobble_bobble/shaders/init_particle_volumes.comp
index 8f0eaf78..e4292098 100644
--- a/projects/wobble_bobble/shaders/init_particle_volumes.comp
+++ b/projects/wobble_bobble/shaders/init_particle_volumes.comp
@@ -30,11 +30,9 @@ void main()	{
                     vec3 offset = vec3(i, j, k) / gridResolution;
                     vec3 voxel = minimal.position + offset;
 
-                    if (length(offset) < minimal.size * 2.0f) {
-                        vec4 gridSample = texture(sampler3D(gridImage, gridSampler), voxel);
+                    vec4 gridSample = texture(sampler3D(gridImage, gridSampler), voxel);
 
-                        mass += gridSample.w * voxel_particle_weight(voxel, minimal);
-                    }
+                    mass += gridSample.w * voxel_particle_weight(voxel, minimal);
                 }
             }
         }
diff --git a/projects/wobble_bobble/shaders/update_particle_deformation.comp b/projects/wobble_bobble/shaders/update_particle_deformation.comp
index 2fe63445..73d8961a 100644
--- a/projects/wobble_bobble/shaders/update_particle_deformation.comp
+++ b/projects/wobble_bobble/shaders/update_particle_deformation.comp
@@ -37,14 +37,12 @@ void main()	{
                     vec3 offset = vec3(i, j, k) / gridResolution;
                     vec3 voxel = minimal.position + offset;
 
-                    if (length(offset) < minimal.size * 2.0f) {
-                        vec4 gridSample = texture(sampler3D(gridImage, gridSampler), voxel);
-
-                        velocity_gradient += outerProduct(
-                            gridSample.xyz,
-                            voxel_particle_grad_weight(voxel, minimal)
-                        );
-                    }
+                    vec4 gridSample = texture(sampler3D(gridImage, gridSampler), voxel);
+
+                    velocity_gradient += outerProduct(
+                        gridSample.xyz,
+                        voxel_particle_grad_weight(voxel, minimal)
+                    );
                 }
             }
         }
diff --git a/projects/wobble_bobble/shaders/update_particle_velocities.comp b/projects/wobble_bobble/shaders/update_particle_velocities.comp
index 4a5bbff8..bc592ad6 100644
--- a/projects/wobble_bobble/shaders/update_particle_velocities.comp
+++ b/projects/wobble_bobble/shaders/update_particle_velocities.comp
@@ -43,19 +43,17 @@ void main()	{
                     vec3 offset = vec3(i, j, k) / gridResolution;
                     vec3 voxel = minimal.position + offset;
 
-                    if (length(offset) < minimal.size * 2.0f) {
-                        vec4 gridSample = texture(sampler3D(gridImage, gridSampler), voxel);
-                        vec4 gridOldSample = texture(sampler3D(gridOldImage, gridSampler), voxel);
+                    vec4 gridSample = texture(sampler3D(gridImage, gridSampler), voxel);
+                    vec4 gridOldSample = texture(sampler3D(gridOldImage, gridSampler), voxel);
 
-                        float weight = voxel_particle_weight(voxel, minimal);
-                        vec3 velocity = gridSample.xyz * weight;
+                    float weight = voxel_particle_weight(voxel, minimal);
+                    vec3 velocity = gridSample.xyz * weight;
 
-                        affine_D += outerProduct(weight * offset, offset);
-                        affine_B += outerProduct(velocity, offset);
+                    affine_D += outerProduct(weight * offset, offset);
+                    affine_B += outerProduct(velocity, offset);
 
-                        velocity_pic += velocity;
-                        velocity_flip += (gridSample.xyz - gridOldSample.xyz) * weight;
-                    }
+                    velocity_pic += velocity;
+                    velocity_flip += (gridSample.xyz - gridOldSample.xyz) * weight;
                 }
             }
         }
@@ -72,9 +70,7 @@ void main()	{
                 for (k = -gridWindow.z; k <= gridWindow.z; k++) {
                     vec3 offset = vec3(i, j, k) / gridResolution;
 
-                    if (length(offset) < minimal.size * 2.0f) {
-                        velocity_apic += affine_C * offset;
-                    }
+                    velocity_apic += affine_C * offset;
                 }
             }
         }
-- 
GitLab