Blender Git Commit Log

Git Commits -> Revision cea6706

Revision cea6706 by Sergey Sharybin (master)
January 8, 2020, 13:38 (GMT)
Fix T62311: Metaball animation playback crash

This commit restores old metaball workaround which was forcing their
update from a single thread.

The root of the issue comes to the fact that metaball evaluation needs
to access metaballs from duplilists, so they are properly polygonized
with corresponding motherball which is outside of duplilist.

In a more ideal world this will be implemented in a way that will not
require iterating over all duplilists, but only through the ones which
actually contain metaballs for the given motherball. In practice this
ends up in a huge refactor in both relations builder (which meeds to
see whether there are metaballs in duplilists without actually
creating duplilist as it can not be done prior scene is evaluated)
and in metaballs area which need to use new relations information.
Additionally, metaball evaluation must become thread-safe, which is
currently not a case with dupli-object matrices. There might be issues
deeper in polygonization code which I am not aware of.

Having this forced single-thread evaluation is same as Blender 2.79
was doing.

Think it's better to have slower but simpler solution than to invest
time in refactoring area which requires deeper design changes.

Reviewed By: dfelinto

Differential Revision: https://developer.blender.org/D6539

Commit Details:

Full Hash: cea67064da5fccbd400ee0c9437c9355289beab8
Parent Commit: 75f82d2
Lines Changed: +120, -25

1 Modified Path:

/source/blender/depsgraph/intern/eval/deg_eval.cc (+120, -25) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021