From 12ac65c79abdf0b2d10803f43671b8dae81ff610 Mon Sep 17 00:00:00 2001 From: hydrogendeuteride Date: Wed, 17 Dec 2025 22:37:34 +0900 Subject: [PATCH] ADD: Particle system floating origin fix --- src/render/passes/particles.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/render/passes/particles.cpp b/src/render/passes/particles.cpp index c71d15c..4fba737 100644 --- a/src/render/passes/particles.cpp +++ b/src/render/passes/particles.cpp @@ -373,6 +373,16 @@ void ParticlePass::register_graph(RenderGraph *graph, RGImageHandle hdrTarget, R _has_prev_origin = true; } + const float origin_delta_len2 = glm::dot(_origin_delta_local, _origin_delta_local); + const bool origin_delta_valid = std::isfinite(origin_delta_len2) && origin_delta_len2 > 0.0f; + if (origin_delta_valid) + { + for (auto &sys : _systems) + { + sys.params.emitter_pos_local -= _origin_delta_local; + } + } + bool any_active = false; for (const auto &s : _systems) {