diff options
author | floppyhammer <tannhauser_chen@outlook.com> | 2022-02-26 13:53:06 +0800 |
---|---|---|
committer | floppyhammer <tannhauser_chen@outlook.com> | 2022-02-26 13:53:06 +0800 |
commit | 1675c5375ed43c92cc726d59c3475db8de9d9f1b (patch) | |
tree | ec05bb03de5fde4ddc1427cdc240deb50f8d0eab | |
parent | 80baa1386a5a19ed8ea50082617d2ae9112678fc (diff) |
Fix particle trail glitch
-rw-r--r-- | servers/rendering/renderer_rd/shaders/particles_copy.glsl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/shaders/particles_copy.glsl b/servers/rendering/renderer_rd/shaders/particles_copy.glsl index afbd5a9caa..1cd8174e9d 100644 --- a/servers/rendering/renderer_rd/shaders/particles_copy.glsl +++ b/servers/rendering/renderer_rd/shaders/particles_copy.glsl @@ -209,7 +209,13 @@ void main() { txform = transpose(txform); } else { - txform = mat4(vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0)); //zero scale, becomes invisible + // Even being inactive, its position still needs to preserved as it might be used by trails. + txform = particles.data[particle].xform; + + // Set scale zero to make it invisible. + txform[0].xyz = vec3(0); + + txform = transpose(txform); } if (params.copy_mode_2d) { |