summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-03-08 13:09:25 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-03-08 13:09:25 +0100
commitcebaf9dac5826716b9b9c592d5269267d2d97344 (patch)
tree01f218139a04b44b662744cf5dcac187125885be
parent7755079f3900d4acbf6e639b9cb73a5a1d598f2f (diff)
parent9b2d77a23826d0bfaadb13f9d9d98a3e15ea1830 (diff)
downloadredot-engine-cebaf9dac5826716b9b9c592d5269267d2d97344.tar.gz
Merge pull request #89042 from permelin/fix-particle-trail-activation
Fix early activation of particle trail sections
-rw-r--r--servers/rendering/renderer_rd/storage_rd/particles_storage.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp b/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp
index 28b2c9b40c..e78b8de4db 100644
--- a/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp
+++ b/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp
@@ -1452,6 +1452,11 @@ void ParticlesStorage::update_particles() {
if (uint32_t(history_size) != particles->frame_history.size()) {
particles->frame_history.resize(history_size);
memset(particles->frame_history.ptr(), 0, sizeof(ParticlesFrameParams) * history_size);
+ // Set the frame number so that we are able to distinguish an uninitialized
+ // frame from the true frame number zero. See issue #88712 for details.
+ for (int i = 0; i < history_size; i++) {
+ particles->frame_history[i].frame = UINT32_MAX;
+ }
}
if (uint32_t(trail_steps) != particles->trail_params.size() || particles->frame_params_buffer.is_null()) {