diff options
author | clayjohn <claynjohn@gmail.com> | 2022-12-21 15:19:57 -0700 |
---|---|---|
committer | clayjohn <claynjohn@gmail.com> | 2022-12-21 15:19:57 -0700 |
commit | eb10c71d6c2d8b593d96d55c41adaf894ea53e50 (patch) | |
tree | c20e2e0d3721f1d518c664ec51cd3f62bbf2a135 /servers | |
parent | b04bc494439193255c85ed9753d28aa92b5adcfa (diff) |
Disable particle trails particles when parent parent is not active.
Diffstat (limited to 'servers')
-rw-r--r-- | servers/rendering/renderer_rd/shaders/particles.glsl | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/servers/rendering/renderer_rd/shaders/particles.glsl b/servers/rendering/renderer_rd/shaders/particles.glsl index 9f6aa7adc0..f787b74dab 100644 --- a/servers/rendering/renderer_rd/shaders/particles.glsl +++ b/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; } |