Merge pull request #66115 from lawnjelly/cpuparticles_set_amount

This commit is contained in:
Rémi Verschelde 2022-09-20 08:43:59 +02:00 committed by GitHub
commit 89e9c3d991
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 0 deletions

View file

@ -62,6 +62,11 @@ void CPUParticles2D::set_amount(int p_amount) {
}
particle_data.resize((8 + 4 + 1) * p_amount);
// We must fill immediately to prevent garbage data and Nans
// being sent to the visual server with set_as_bulk_array,
// if this is sent before being regularly updated.
particle_data.fill(0);
VS::get_singleton()->multimesh_allocate(multimesh, p_amount, VS::MULTIMESH_TRANSFORM_2D, VS::MULTIMESH_COLOR_8BIT, VS::MULTIMESH_CUSTOM_DATA_FLOAT);
particle_order.resize(p_amount);

View file

@ -85,6 +85,13 @@ void CPUParticles::set_amount(int p_amount) {
particle_data.resize((12 + 4 + 1) * p_amount);
particle_data_prev.resize(particle_data.size());
// We must fill immediately to prevent garbage data and Nans
// being sent to the visual server with set_as_bulk_array,
// if this is sent before being regularly updated.
particle_data.fill(0);
particle_data_prev.fill(0);
VS::get_singleton()->multimesh_allocate(multimesh, p_amount, VS::MULTIMESH_TRANSFORM_3D, VS::MULTIMESH_COLOR_8BIT, VS::MULTIMESH_CUSTOM_DATA_FLOAT);
particle_order.resize(p_amount);