diff --git a/projects/sph/shaders/pressure.comp b/projects/sph/shaders/pressure.comp index c921616383a932242cc28dd6d4bd4e3624dd1912..5bd9aa13305b49f2029bcab0e77e1a4f04e35d71 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;