From d309036d2f6a554c3555d9c11cc791d003f4d81a Mon Sep 17 00:00:00 2001
From: Josh Morgenstern <josh@morgenstern.dev>
Date: Tue, 14 Sep 2021 13:05:22 +0200
Subject: [PATCH] [#111] prevent pressure calculation for particle with itself

---
 projects/sph/shaders/pressure.comp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/projects/sph/shaders/pressure.comp b/projects/sph/shaders/pressure.comp
index c9216163..5bd9aa13 100644
--- a/projects/sph/shaders/pressure.comp
+++ b/projects/sph/shaders/pressure.comp
@@ -53,8 +53,11 @@ void main() {
 
     for(uint i = 0; i < inParticle.length(); i++)   
     {
-        float dist = distance(inParticle[id].position, inParticle[i].position);
-        densitySum += mass * poly6(dist);
+        if (id != i)
+        {
+            float dist = distance(inParticle[id].position, inParticle[i].position);
+            densitySum += mass * poly6(dist);
+        }
     }
     outParticle[id].density = densitySum;
     outParticle[id].pressure = max((densitySum - offset), 0) * gasConstant;
-- 
GitLab