Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/BKE_multires.h2
-rw-r--r--source/blender/blenkernel/intern/multires.c3
-rw-r--r--source/blender/blenkernel/intern/multires_reshape.c11
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(&parallel_range_settings);