Skip to content

Commit

Permalink
Fixed INSTANCE_CUSTOM.w not being assigned correctly in CPUParticles …
Browse files Browse the repository at this point in the history
…2D and 3D
  • Loading branch information
QbieShay authored and MewPurPur committed Jun 29, 2024
1 parent f62fc5b commit 7016148
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
4 changes: 2 additions & 2 deletions scene/2d/cpu_particles_2d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -753,10 +753,10 @@ void CPUParticles2D::_particles_process(double p_delta) {
p.custom[0] = 0.0; // unused
p.custom[1] = 0.0; // phase [0..1]
p.custom[2] = tex_anim_offset * Math::lerp(parameters_min[PARAM_ANIM_OFFSET], parameters_max[PARAM_ANIM_OFFSET], p.anim_offset_rand);
p.custom[3] = 0.0;
p.custom[3] = (1.0 - Math::randf() * lifetime_randomness);
p.transform = Transform2D();
p.time = 0;
p.lifetime = lifetime * (1.0 - Math::randf() * lifetime_randomness);
p.lifetime = lifetime * p.custom[3];
p.base_color = Color(1, 1, 1, 1);

switch (emission_shape) {
Expand Down
5 changes: 3 additions & 2 deletions scene/3d/cpu_particles_3d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ void CPUParticles3D::set_amount(int p_amount) {

for (int i = 0; i < p_amount; i++) {
w[i].active = false;
w[i].custom[3] = 0.0; // Make sure w component isn't garbage data
w[i].custom[3] = 1.0; // Make sure w component isn't garbage data and doesn't break shaders with CUSTOM.y/Custom.w
}
}

Expand Down Expand Up @@ -813,9 +813,10 @@ void CPUParticles3D::_particles_process(double p_delta) {
p.custom[0] = Math::deg_to_rad(base_angle); //angle
p.custom[1] = 0.0; //phase
p.custom[2] = tex_anim_offset * Math::lerp(parameters_min[PARAM_ANIM_OFFSET], parameters_max[PARAM_ANIM_OFFSET], p.anim_offset_rand); //animation offset (0-1)
p.custom[3] = (1.0 - Math::randf() * lifetime_randomness);
p.transform = Transform3D();
p.time = 0;
p.lifetime = lifetime * (1.0 - Math::randf() * lifetime_randomness);
p.lifetime = lifetime * p.custom[3];
p.base_color = Color(1, 1, 1, 1);

switch (emission_shape) {
Expand Down

0 comments on commit 7016148

Please sign in to comment.