diff --git a/projects/particle_simulation/shaders/shader_space.frag b/projects/particle_simulation/shaders/shader_space.frag
index c4abcb28f3ca082ad4d2b90b77cb7169b306454e..7f6d22065caa3c4b3ab2b1f697c9545a66d7bd54 100644
--- a/projects/particle_simulation/shaders/shader_space.frag
+++ b/projects/particle_simulation/shaders/shader_space.frag
@@ -40,4 +40,7 @@ void main()
    
    // make the triangle look like a circle
    outColor *= circleFactor(passTriangleCoordinates);
+   
+   // fade out particle shortly before it dies
+   outColor *= clamp(passlifeTime * 2, 0, 1);
 }
\ No newline at end of file
diff --git a/projects/particle_simulation/shaders/shader_water.frag b/projects/particle_simulation/shaders/shader_water.frag
index 4a62ad349e8fdcec69e9ec92368f32e2e3e31471..b68f9572a91b05e836c3fead9ae9afd7ce16ba8e 100644
--- a/projects/particle_simulation/shaders/shader_water.frag
+++ b/projects/particle_simulation/shaders/shader_water.frag
@@ -40,4 +40,7 @@ void main()
     
     // make the triangle look like a circle
    outColor *= circleFactor(passTriangleCoordinates);
+   
+   // fade out particle shortly before it dies
+   outColor *= clamp(passlifeTime * 2, 0, 1);
 }