Page MenuHome

Split the "uber-eval" function for object data into individual operations based on object type.
Needs ReviewPublic

Authored by Lukas Toenne (lukastoenne) on Sep 23 2015, 10:16 AM.

Details

Summary

This means making a dedicated data generation function for object types that need it,
and a few utility functions for particles and extra driver evaluation (hopefully soon to be deprecated).

Remaining "uber" functions in the depsgraph should be split in a similar manner in future.

The splitting allows us to go deeper into the design of certain object types (meshes in particular)
and improve these without having to deal with all the other types.

Note on mesh vs editmesh operations:

Mesh and editmesh are calculated in separate functions. In order to get to a point
where splitting into individual modifiers makes sense, the first step is to have
two separate operations for these.

Changing edit mode does not rebuild the depsgraph, so we cannot selectively
add only one or the other at build time. Instead both operations are added, but only
one of them is actually executed. Currently this uses an internal test for the edit
mesh, but could later be controlled on the depsgraph level based on active branches.

Diff Detail

Repository
rB Blender
Branch
temp_depsgraph_split_ubereval

Event Timeline

Lukas Toenne (lukastoenne) retitled this revision from to Split the "uber-eval" function for object data into individual operations based on object type..
Lukas Toenne (lukastoenne) updated this object.