summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd/storage_rd
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2022-10-25 12:05:40 -0700
committerclayjohn <claynjohn@gmail.com>2022-10-25 12:05:40 -0700
commit3d28cb3cd349f9a90f95cd301476179a837ff688 (patch)
tree5c0ae0a505bfc87d6118263e986250211885e891 /servers/rendering/renderer_rd/storage_rd
parentc51a42778df3239fa3e9ef23e701146675985f3c (diff)
Correctly set number of particle dispatches when setting view axis
Diffstat (limited to 'servers/rendering/renderer_rd/storage_rd')
-rw-r--r--servers/rendering/renderer_rd/storage_rd/particles_storage.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp b/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp
index 240f743387..7fa0bb64a3 100644
--- a/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp
+++ b/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp
@@ -1220,7 +1220,9 @@ void ParticlesStorage::particles_set_view_axis(RID p_particles, const Vector3 &p
RendererCompositorRD::singleton->get_effects()->sort_buffer(particles->particles_sort_uniform_set, particles->amount);
}
- copy_push_constant.total_particles *= copy_push_constant.total_particles;
+ if (particles->trails_enabled && particles->trail_bind_poses.size() > 1) {
+ copy_push_constant.total_particles *= particles->trail_bind_poses.size();
+ }
RD::ComputeListID compute_list = RD::get_singleton()->compute_list_begin();
uint32_t copy_pipeline = do_sort ? ParticlesShader::COPY_MODE_FILL_INSTANCES_WITH_SORT_BUFFER : ParticlesShader::COPY_MODE_FILL_INSTANCES;