diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-09-24 17:59:27 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-09-25 10:38:23 +0300 |
commit | a933293f11199e6f7e8c24232ff5214229980cfb (patch) | |
tree | b6f9f80370f80d5b44bf8aeadf058a44817f01fb /source/blender/blenkernel | |
parent | 518451757e3a809978417e1ef30cf85a725dae86 (diff) |
Multires: Pass mesh instead of object
There is nothing we need from object in this case.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_multires.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/multires.c | 3 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/multires_reshape.c | 11 |
3 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/blenkernel/BKE_multires.h b/source/blender/blenkernel/BKE_multires.h index eb6d6151254..2a9f5b3b7a7 100644 --- a/source/blender/blenkernel/BKE_multires.h +++ b/source/blender/blenkernel/BKE_multires.h @@ -130,7 +130,7 @@ bool multiresModifier_reshapeFromDeformModifier( struct ModifierData *md); bool multiresModifier_reshapeFromCCG( struct MultiresModifierData *mmd, - struct Object *object, + struct Mesh *coarse_mesh, struct SubdivCCG *subdiv_ccg); /* Subdivision integration, defined in multires_subdiv.c */ diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c index 24310bfe6ba..7ab1bcb1fb5 100644 --- a/source/blender/blenkernel/intern/multires.c +++ b/source/blender/blenkernel/intern/multires.c @@ -426,8 +426,9 @@ void multires_force_update(Object *ob) if (sculpt_session != NULL && sculpt_session->pbvh != NULL) { PBVH *pbvh = sculpt_session->pbvh; if (BKE_pbvh_type(pbvh) == PBVH_GRIDS) { + Mesh *mesh = ob->data; multiresModifier_reshapeFromCCG( - sculpt_session->multires, ob, sculpt_session->subdiv_ccg); + sculpt_session->multires, mesh, sculpt_session->subdiv_ccg); } else { /* NOTE: Disabled for until OpenSubdiv is enabled by default. */ diff --git a/source/blender/blenkernel/intern/multires_reshape.c b/source/blender/blenkernel/intern/multires_reshape.c index 9e17d41ed7a..20deb788194 100644 --- a/source/blender/blenkernel/intern/multires_reshape.c +++ b/source/blender/blenkernel/intern/multires_reshape.c @@ -420,7 +420,7 @@ typedef struct MultiresPropagateCornerData { static void multires_reshape_propagate_prepare( MultiresPropagateData *data, - Object *object, + Mesh *coarse_mesh, const int reshape_level, const int top_level) { @@ -430,7 +430,6 @@ static void multires_reshape_propagate_prepare( /* Nothing to do, reshape will happen on the whole grid content. */ return; } - Mesh *coarse_mesh = object->data; const int num_grids = coarse_mesh->totloop; MDisps *mdisps = CustomData_get_layer(&coarse_mesh->ldata, CD_MDISPS); MDisps *old_mdisps = MEM_dupallocN(mdisps); @@ -468,9 +467,10 @@ static void multires_reshape_propagate_prepare_from_mmd( const bool use_render_params) { Scene *scene_eval = DEG_get_evaluated_scene(depsgraph); + Mesh *mesh = object->data; const int level = multires_get_level( scene_eval, object, mmd, use_render_params, true); - multires_reshape_propagate_prepare(data, object, level, mmd->totlvl); + multires_reshape_propagate_prepare(data, mesh, level, mmd->totlvl); } static void multires_reshape_propagate_corner_data( @@ -1070,10 +1070,9 @@ static void reshape_from_ccg_task( bool multiresModifier_reshapeFromCCG( MultiresModifierData *mmd, - Object *object, + Mesh *coarse_mesh, SubdivCCG *subdiv_ccg) { - Mesh *coarse_mesh = object->data; CCGKey key; BKE_subdiv_ccg_key_top_level(&key, subdiv_ccg); /* Sanity checks. */ @@ -1102,7 +1101,7 @@ bool multiresModifier_reshapeFromCCG( /* Initialize propagation to higher levels. */ MultiresPropagateData propagate_data; multires_reshape_propagate_prepare( - &propagate_data, object, key.level, mmd->totlvl); + &propagate_data, coarse_mesh, key.level, mmd->totlvl); /* Threaded grids iteration. */ ParallelRangeSettings parallel_range_settings; BLI_parallel_range_settings_defaults(¶llel_range_settings); |