Blender Git Commits

Blender Git "depsgraph_refactor" branch commits.

Page: 14 / 59

January 1, 2015, 15:34 (GMT)
Depsgraph: initial move towards switch to the new depsgraph

Quite some changes in this commit, mainly:

- Made it more clear separation between old and new dependency graphs.

So now logic for the new dependency graph is totally concentrated in
depsgraph/ folder and old DAG_* calls only redirects to that module.

This gives a bit of code redundancy (not so much tho) but it makes
it really clear how to drop old dependency graph or how to make it
an easy switch between old/new code bases (as a command line argument
perhaps to be safe for a major failure).

- Kind of part of previous one, but to be clear: all the parts of the
new dependency graph API which were marked as TODO are now filled
in.

It doesn't mean they're 100% finished, but initial code is there.

- Removed some experimental code. Let's just stick to code which might
not be optimal but works reliably.

- Started re-integration new dependency graph into editors.

This is basically Cycles viewport rendering which starts working
now. Still some glitches in there and missing updates but let's
start from something.

I decided to not invent anything totally new here and just ported
old logic with id->flag tags.
January 1, 2015, 12:56 (GMT)
Code Cleanup: Disambiguate the "ComponentKey" name

ComponentKey was mostly used to refer to the lookup keys used when specifying
a relevant node for use when creating a relationship, while the secondary
usage of this was in IDDepsNodes as the keys for the component dict. While there
is technically no problem with having this, in practice it was too confusing.

So, now "ComponentKey" is only for looking up nodes, while "ComponentIDKey" is
used internally to identify keys.
January 1, 2015, 09:54 (GMT)
Cleanup comments while reviewing whther bone IK code is defined correctly
January 1, 2015, 09:10 (GMT)
Merge branch 'master' into depsgraph_refactor
January 1, 2015, 00:52 (GMT)
Fix: Animation works again

Because most of the places using the animdata op coneected to the component,
the removal of verify_entry_exit_ops() broke this. For now, we'll manually
set this op as the entry/exit for the component.
December 31, 2014, 19:08 (GMT)
Depsgraph: Fix compilation error with legacy depsgraph enabled
December 31, 2014, 16:52 (GMT)
Depsgraph: Use layers visibility passed from scene_update_for_newframe

This way we can easily deal with the cases when render engine requests for
a different set of layers to be updated without need make bigger changes to
the outside of the dependency graph.

TODO: It is now possible to have some missing scene updates when mixing
update from the viewport and render engine. This isn't difficult to solve
but wouldn't be able to wrap up the patch today.
December 31, 2014, 16:24 (GMT)
Depsgraph: Nodes visibility was flushing in the wrong direction

TODO: Moving objects around between layers should flush node layers.
December 31, 2014, 15:47 (GMT)
Depsgraph: Mark geometry uber eval as the post operation

This way geometry component has proper exit operation which makes
relations happy.

it is still not enough to make the most simple scene here to work.
December 31, 2014, 14:50 (GMT)
Merge branch 'master' into depsgraph_refactor
December 31, 2014, 10:21 (GMT)
Depsgraph: Fix for clang and legacy depsgraph disabled
December 31, 2014, 10:18 (GMT)
Depsgraph: Fix compilation error with clang
December 31, 2014, 10:12 (GMT)
Merge branch 'master' into depsgraph_refactor
December 30, 2014, 13:19 (GMT)
Depsgraph: Correction to previous commits to avoid asserts when built with legacy depsgraph
December 30, 2014, 09:25 (GMT)
WIP: The placeholder "geometry eval" opnodes are now marked as entrypoints to the corresponding components
December 30, 2014, 09:21 (GMT)
WIP: Added coded to link shapekey drivers to the geometry eval operations

This currently doesn't work because the geometry stuff isn't set up correctly
yet. With some tweaks, it should eventually work though.
December 30, 2014, 05:35 (GMT)
Fix for Driver: fcu->rna_path was not unique enough to be an identifying key

For identifying a particular driver within a component, just using the RNA
path isn't enough, as that means that only the first driver for array/vector
properties gets executed or included in the graph. To ensure that it is still
possible to easily figure out what's going on, we now generate strings for the
"name" identifiers now (i.e. rna path + array index)
December 30, 2014, 02:45 (GMT)
Improve debugging error prints for add_relation() again

This time, when the lookup fails, we print the details of the key that failed,
so that we can see what was being searched for when we didn't find what we
were looking for.
December 30, 2014, 01:09 (GMT)
Entry/Exit operations for components now get set when creating those operation nodes
December 30, 2014, 00:19 (GMT)
Get rid of verify_entry_exit_operations()

This was a holdover from the initial implementation, when we tried to do
everything in a single pass, and we couldn't be sure if a component's
start/end operations had been created yet (i.e. since some components
may have only been partially created).

Following discussion with Sergey, we've concluded that this is redundant
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021