Blender Git Loki

Git Commits -> Revision 4045a51

Revision 4045a51 by Sergey Sharybin (master)
December 19, 2017, 10:37 (GMT)
Depsgraph: Rework tagging and flushing routines

The goal is: have id->recalc flags set to components which got changed.
To make it possible for render engines to check on a more granular basis
what changed in the object. For example, is it a transform which changed
or is it just some ID property changed which has nothing to do with rendering.

The tricky part is: we don't want duplicated logic in tagging and flushing.
In order to avoid this duplication, we store ID recalc flag in the component
node type information. That type information could easily be accessed by both
tagging and flushing routines.

Remaining part of the changes are related on changing the way how tagging
works. The new idea here is to have utility function which maps update tag to
a component. This way we can easily set ID recalc flags right away. Without
any duplication of ID recalc flags set in multiple flag handler functions.

With all this being said, there should be no user measurable difference for
now, it's a gigantic basement for some upcoming work and fixes.

Commit Details:

Full Hash: 4045a51a116156c2a6465577eef65d36c5c5c4e8
Parent Commit: e4849ad
Lines Changed: +187, -283

3 Modified Paths:

/source/blender/depsgraph/intern/depsgraph_intern.h (+0, -4) (Diff)
/source/blender/depsgraph/intern/depsgraph_tag.cc (+171, -278) (Diff)
/source/blender/depsgraph/intern/eval/deg_eval_flush.cc (+16, -1) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021