[Bf-blender-cvs] [43c4d0bf23c] blender2.8: Multires: Pass total level instead of modifier data

Sergey Sharybin noreply at git.blender.org
Tue Sep 25 12:19:53 CEST 2018


Commit: 43c4d0bf23c2dd8230f58a07b55d1234c1e81acf
Author: Sergey Sharybin
Date:   Tue Sep 25 09:58:40 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB43c4d0bf23c2dd8230f58a07b55d1234c1e81acf

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.

===================================================================

M	source/blender/blenkernel/BKE_multires.h
M	source/blender/blenkernel/intern/multires.c
M	source/blender/blenkernel/intern/multires_reshape.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_multires.h b/source/blender/blenkernel/BKE_multires.h
index 2a9f5b3b7a7..28a98768a06 100644
--- a/source/blender/blenkernel/BKE_multires.h
+++ b/source/blender/blenkernel/BKE_multires.h
@@ -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);
 
diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c
index 7ab1bcb1fb5..3f3feddcfbe 100644
--- a/source/blender/blenkernel/intern/multires.c
+++ b/source/blender/blenkernel/intern/multires.c
@@ -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. */
diff --git a/source/blender/blenkernel/intern/multires_reshape.c b/source/blender/blenkernel/intern/multires_reshape.c
index 20deb788194..bd0ea935b76 100644
--- a/source/blender/blenkernel/intern/multires_reshape.c
+++ b/source/blender/blenkernel/intern/multires_reshape.c
@@ -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);



More information about the Bf-blender-cvs mailing list