Multires: Pass total level instead of modifier data

This is the only thing which needs to be done to perform propoer
reshape. Makes it easier to re-use code from other places.
This commit is contained in:
2018-09-25 09:58:40 +02:00
parent a933293f11
commit 43c4d0bf23
3 changed files with 6 additions and 6 deletions

View File

@@ -129,7 +129,7 @@ bool multiresModifier_reshapeFromDeformModifier(
struct Object *ob,
struct ModifierData *md);
bool multiresModifier_reshapeFromCCG(
struct MultiresModifierData *mmd,
const int tot_level,
struct Mesh *coarse_mesh,
struct SubdivCCG *subdiv_ccg);

View File

@@ -428,7 +428,7 @@ void multires_force_update(Object *ob)
if (BKE_pbvh_type(pbvh) == PBVH_GRIDS) {
Mesh *mesh = ob->data;
multiresModifier_reshapeFromCCG(
sculpt_session->multires, mesh, sculpt_session->subdiv_ccg);
sculpt_session->multires->totlvl, mesh, sculpt_session->subdiv_ccg);
}
else {
/* NOTE: Disabled for until OpenSubdiv is enabled by default. */

View File

@@ -1069,7 +1069,7 @@ static void reshape_from_ccg_task(
}
bool multiresModifier_reshapeFromCCG(
MultiresModifierData *mmd,
const int tot_level,
Mesh *coarse_mesh,
SubdivCCG *subdiv_ccg)
{
@@ -1091,8 +1091,8 @@ bool multiresModifier_reshapeFromCCG(
.mdisps = mdisps,
.grid_paint_mask = grid_paint_mask,
/* TODO(sergey): Use grid_size_for_level_get */
.grid_size = (1 << (mmd->totlvl - 1)) + 1,
.level = mmd->totlvl},
.grid_size = (1 << (tot_level - 1)) + 1,
.level = tot_level},
.face_ptex_offset = BKE_subdiv_face_ptex_offset_get(subdiv),
.key = &key,
.grids = subdiv_ccg->grids};
@@ -1101,7 +1101,7 @@ bool multiresModifier_reshapeFromCCG(
/* Initialize propagation to higher levels. */
MultiresPropagateData propagate_data;
multires_reshape_propagate_prepare(
&propagate_data, coarse_mesh, key.level, mmd->totlvl);
&propagate_data, coarse_mesh, key.level, tot_level);
/* Threaded grids iteration. */
ParallelRangeSettings parallel_range_settings;
BLI_parallel_range_settings_defaults(&parallel_range_settings);