diff --git a/leenkx/Sources/iron/object/ParticleSystemCPU.hx b/leenkx/Sources/iron/object/ParticleSystemCPU.hx index 62160b7b..3e0467e5 100644 --- a/leenkx/Sources/iron/object/ParticleSystemCPU.hx +++ b/leenkx/Sources/iron/object/ParticleSystemCPU.hx @@ -394,7 +394,7 @@ class ParticleSystemCPU { if (physics.hasScaleRamp && physics.rampPositions.length > 1) { var normalizedAge: FastFloat = physics.age / physics.lifetime; var scaleMultiplier: FastFloat = interpolateRampValue(normalizedAge, physics.rampPositions, physics.rampColors); - var finalScale: FastFloat = scale * (particleScale * (1 - physics.scaleRampSizeFactor) + scaleMultiplier * physics.scaleRampSizeFactor); + var finalScale: FastFloat = 1 + (scaleMultiplier - 1) * physics.scaleRampSizeFactor; particle.transform.scale.setFrom(physics.baseScale.clone().mult(finalScale)); } diff --git a/leenkx/blender/lnx/material/make_shader.py b/leenkx/blender/lnx/material/make_shader.py index 27f482bf..6b13a0b8 100644 --- a/leenkx/blender/lnx/material/make_shader.py +++ b/leenkx/blender/lnx/material/make_shader.py @@ -210,7 +210,7 @@ def make_instancing_and_skinning(mat: Material, mat_users: Dict[Material, List[O # Instancing inst = bo.lnx_instanced - if inst != 'Off' or mat.lnx_particle_flag: + if inst != 'Off' or (mat.lnx_particle_flag and lnx.utils.get_rp().lnx_particles == 'GPU'): instancing_usage[0] = True mat_state.uses_instancing = True