http://www.miikahweb.com/feed.php MiikaHweb - Blender Temp_depsgraph_split_ubereval Branch http://www.miikahweb.com/ MiikaHweb - Blender Temp_depsgraph_split_ubereval Branch fi Mon, 14 Oct 19 13:45:27 +0000 MiikaHweb RSS contact at miikahweb.com <![CDATA[[f8e9b34]: Moved function declarations for modifier stack eval into BKE_modifier_calc...]]> http://www.miikahweb.com/en/blender/git-logs/commit/f8e9b349e83572c358290a5c66afe60ef1bf7a92 f8e9b34
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Moved function declarations for modifier stack eval into BKE_modifier_calc.h.

----------------------------------------
52 Paths Changed]]>
Thu, 21 Apr 2016 09:24:42 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/f8e9b349e83572c358290a5c66afe60ef1bf7a92Lukas Toenne
<![CDATA[[f067974]: Avoid shadowing 'mask' function parameter by a local variable...]]> http://www.miikahweb.com/en/blender/git-logs/commit/f0679748800e5e451b00a71e537d338ace9d3cdd f067974
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Avoid shadowing 'mask' function parameter by a local variable.

----------------------------------------
1 Path Changed]]>
Thu, 21 Apr 2016 08:06:10 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/f0679748800e5e451b00a71e537d338ace9d3cddLukas Toenne
<![CDATA[[2dfd53e]: Moved code for modifier evaluation out of DerivedMesh.c.]]> http://www.miikahweb.com/en/blender/git-logs/commit/2dfd53e8e94b79ac7ba3ca45b5eae605bb361813 2dfd53e
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Moved code for modifier evaluation out of DerivedMesh.c.

These files contained a confusing mix of DM code (for manipulating DMs
and various utility functions relating to these types), and the code
for evaluating object modifier stacks. These are two very distinct
areas and putting them in a single huge file doesn't promote code
clarity at all.

This commit only moves code, but does not alter any of it. This is
important for log continuity, so history of specific functions can be
clearly traced back!

----------------------------------------
3 Paths Changed]]>
Thu, 21 Apr 2016 07:46:47 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2dfd53e8e94b79ac7ba3ca45b5eae605bb361813Lukas Toenne
<![CDATA[[aae0598]: Merge branch 'master' into temp_depsgraph_split_ubereval]]> http://www.miikahweb.com/en/blender/git-logs/commit/aae0598aa233d43d0ffc81a070b2ce20d6871c1d aae0598
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Merge branch 'master' into temp_depsgraph_split_ubereval

----------------------------------------
0 Paths Changed]]>
Wed, 20 Apr 2016 14:45:29 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/aae0598aa233d43d0ffc81a070b2ce20d6871c1dLukas Toenne
<![CDATA[[95d7d3c]: Result struct for storing various points to DerivedMesh and...]]> http://www.miikahweb.com/en/blender/git-logs/commit/95d7d3c2a6aa91f1dcb33ff0cdfc751e2886d8cd 95d7d3c
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Result struct for storing various points to DerivedMesh and deform during modifier eval.

----------------------------------------
1 Path Changed]]>
Fri, 25 Sep 2015 10:53:11 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/95d7d3c2a6aa91f1dcb33ff0cdfc751e2886d8cdLukas Toenne
<![CDATA[[1fddfe4]: Own function for finalizing the modifier eval result.]]> http://www.miikahweb.com/en/blender/git-logs/commit/1fddfe4521f563e92595d6b862546a57ffadd1b5 1fddfe4
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Own function for finalizing the modifier eval result.

----------------------------------------
1 Path Changed]]>
Fri, 25 Sep 2015 10:12:34 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1fddfe4521f563e92595d6b862546a57ffadd1b5Lukas Toenne
<![CDATA[[3589244]: Use a localized ndm variable for the main dm and both possibl...]]> http://www.miikahweb.com/en/blender/git-logs/commit/35892446b00687fdb5d48c44d4bec367e7411b99 3589244
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Use a localized ndm variable for the main dm and both possibl orco results.

Proper scoping helps understanding of the code.

----------------------------------------
1 Path Changed]]>
Fri, 25 Sep 2015 09:54:59 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/35892446b00687fdb5d48c44d4bec367e7411b99Lukas Toenne
<![CDATA[[3425adf]: Own function for setting up the DerivedMesh input for constructive...]]> http://www.miikahweb.com/en/blender/git-logs/commit/3425adf01eff5fb3b437df11ae17baa5c4b0b897 3425adf
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Own function for setting up the DerivedMesh input for constructive modifiers.

----------------------------------------
1 Path Changed]]>
Fri, 25 Sep 2015 09:45:13 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/3425adf01eff5fb3b437df11ae17baa5c4b0b897Lukas Toenne
<![CDATA[[2374b21]: Use a common function for deform-only modifier evaluation.]]> http://www.miikahweb.com/en/blender/git-logs/commit/2374b2103ba8686e70c746ed5f64369a98211d1f 2374b21
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Use a common function for deform-only modifier evaluation.

The distinction between leading and interspersed deform modifier in the
evaluation loop is superficial. The primary difference is the existence of
a derived mesh (dm), which can be handled optionally. Further conditionals
can be moved outside the loop (dyntopo would immediately cancel leading
deform eval anyway).

----------------------------------------
1 Path Changed]]>
Fri, 25 Sep 2015 09:10:40 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2374b2103ba8686e70c746ed5f64369a98211d1fLukas Toenne
<![CDATA[[de7b114]: Simplify initialization of the deformedVerts variable.]]> http://www.miikahweb.com/en/blender/git-logs/commit/de7b114eb7a9830c3d35aa583fce05dcc0fe2ae1 de7b114
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Simplify initialization of the deformedVerts variable.

No need to do the same thing in both code branches, the result is the same.

----------------------------------------
1 Path Changed]]>
Thu, 24 Sep 2015 09:26:00 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/de7b114eb7a9830c3d35aa583fce05dcc0fe2ae1Lukas Toenne
<![CDATA[[e094fd3]: Moved the rather elaborate test for modifier sculptmode compatibility...]]> http://www.miikahweb.com/en/blender/git-logs/commit/e094fd3990dbaa6be4e732a3d7cc68d610834015 e094fd3
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Moved the rather elaborate test for modifier sculptmode compatibility into own function.

----------------------------------------
1 Path Changed]]>
Wed, 23 Sep 2015 17:30:01 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/e094fd3990dbaa6be4e732a3d7cc68d610834015Lukas Toenne
<![CDATA[[548c77d]: Cleanup for mesh_calc_modifiers: Context and Iteration structs...]]> http://www.miikahweb.com/en/blender/git-logs/commit/548c77d5e15fea657aa9e451d6f760cd54f975e0 548c77d
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Cleanup for mesh_calc_modifiers: Context and Iteration structs.

These gather most of the large number of local variables in that function,
in order to gain some clarity on their usage and scope.

Context is where immutable settings and global precomputed data is stored
during the computation. These values are initialized once and not touched
by modifiers.

Iterator struct holds the combined md/datamask pointers and some (hackish)
mutable data that gets updated during the process.

Where possible local variables have also been moved into narrower code blocks
to make the overall procedure less confusing.

----------------------------------------
1 Path Changed]]>
Wed, 23 Sep 2015 16:19:39 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/548c77d5e15fea657aa9e451d6f760cd54f975e0Lukas Toenne
<![CDATA[[5ce1b86]: Split the "uber-eval" function for object data into individual...]]> http://www.miikahweb.com/en/blender/git-logs/commit/5ce1b86aaaed8ad19e2e8118e71d9a32b6c62468 5ce1b86
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Split the "uber-eval" function for object data into individual operations based on object type.

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.

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

----------------------------------------
13 Paths Changed]]>
Wed, 23 Sep 2015 08:16:43 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/5ce1b86aaaed8ad19e2e8118e71d9a32b6c62468Lukas Toenne
<![CDATA[[f21259c]: Further split of the object derived mesh update into mesh vs...]]> http://www.miikahweb.com/en/blender/git-logs/commit/f21259c3233ec4795975afb45e9d99fb4d529586 f21259c
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Further split of the object derived mesh update into 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.

Note that 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.

----------------------------------------
7 Paths Changed]]>
Wed, 23 Sep 2015 06:53:49 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/f21259c3233ec4795975afb45e9d99fb4d529586Lukas Toenne
<![CDATA[[73e1107]: Removed pointless conditional, function call is the same in...]]> http://www.miikahweb.com/en/blender/git-logs/commit/73e110793c6f681dfc2bc20baf3174ef3c890059 73e1107
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Removed pointless conditional, function call is the same in both cases.

----------------------------------------
1 Path Changed]]>
Tue, 22 Sep 2015 14:49:28 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/73e110793c6f681dfc2bc20baf3174ef3c890059Lukas Toenne
<![CDATA[[5d4b95d]: Renamed functions a bit for simplicity.]]> http://www.miikahweb.com/en/blender/git-logs/commit/5d4b95da504fad7f648da7e0d5053310962f18dd 5d4b95d
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Renamed functions a bit for simplicity.

Rationale is to use "eval" for all functions which are called directly from the depsgraph.

----------------------------------------
3 Paths Changed]]>
Tue, 22 Sep 2015 14:41:54 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/5d4b95da504fad7f648da7e0d5053310962f18ddLukas Toenne
<![CDATA[[10e6420]: Split the "uber-eval" function for object data into individual...]]> http://www.miikahweb.com/en/blender/git-logs/commit/10e6420979e4bae9d1410256c19adf7f1ab06c38 10e6420
Branches : temp_depsgraph_split_ubereval
Author : Lukas Toenne (lukastoenne)
----------------------------------------
Split the "uber-eval" function for object data into individual operations based on object type.

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 use 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.

----------------------------------------
5 Paths Changed]]>
Tue, 22 Sep 2015 12:35:46 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/10e6420979e4bae9d1410256c19adf7f1ab06c38Lukas Toenne