Browse Source

Disable particle trails particles when parent parent is not active.

clayjohn 2 years ago
parent
commit
eb10c71d6c
1 changed files with 5 additions and 0 deletions
  1. 5 0
      servers/rendering/renderer_rd/shaders/particles.glsl

+ 5 - 0
servers/rendering/renderer_rd/shaders/particles.glsl

@@ -304,6 +304,11 @@ void main() {
 			PARTICLE.flags = PARTICLE_FLAG_ACTIVE | (particles.data[src_idx].flags & (PARTICLE_FRAME_MASK << PARTICLE_FRAME_SHIFT));
 			return; //- this appears like it should be correct, but it seems not to be.. wonder why.
 		}
+		if (!bool(particles.data[src_idx].flags & PARTICLE_FLAG_ACTIVE)) {
+			// Disable the entire trail if the parent is no longer active.
+			PARTICLE.flags = 0;
+			return;
+		}
 	} else {
 		PARTICLE.flags &= ~PARTICLE_FLAG_STARTED;
 	}