Page MenuHome

Fix T97380 EEVEE: Weird motion-blur on curves
ClosedPublic

Authored by Clément Foucault (fclem) on May 11 2022, 1:23 AM.

Details

Summary

This was caused by the mb_data->obmat[] being wrong because they are
now shared between the particle system and the object.
But Hair need the dupli parent matrix instead of the object matrix.
Disabling Show Emitter option fixes the bug.

To avoid this problem, request a different EEVEE_ObjectMotionData
for particle systems using a different key pointer in the hash.
This is a bit dirty but there is less code polution using this workaround.

Diff Detail

Repository
rB Blender
Branch
blender-v3.2-release
Build Status
Buildable 22057
Build 22057: arc lint + arc unit

Event Timeline

Clément Foucault (fclem) requested review of this revision.May 11 2022, 1:23 AM
Clément Foucault (fclem) created this revision.
Jacques Lucke (JacquesLucke) added inline comments.
source/blender/draw/engines/eevee/eevee_data.c
128

Think this should be mentioned in a comment on EEVEE_ObjectKey.ob, because it changes the meaning of those a bit.
Arguably, EEVEE_ObjectKey.ob shouldn't even be a Object * with this change anymore. You could also store a separate bool in EEVEE_ObjectKey.

This revision is now accepted and ready to land.May 11 2022, 11:29 AM