diff options
author | Pablo Dobarro <pablodp606@gmail.com> | 2020-08-14 01:23:54 +0300 |
---|---|---|
committer | Pablo Dobarro <pablodp606@gmail.com> | 2020-08-18 14:11:23 +0300 |
commit | 976f0113e008b4ff2d96760b0e83d5466dda8c54 (patch) | |
tree | 418894ff1ca29b65a823556527bb5fe20960ad92 /source/blender/blenkernel/intern/paint.c | |
parent | df495e758d0fabc74e8ca5bbf9dc4d71af3ac63c (diff) |
Multires: Base Mesh Sculpting
This adds an option to the Multires modifier to sculpt directly on the
base mesh while previewing the displacement of a higher subdivisions
level. What this does it considering Multires as a regular modifier
without exposing the grid displacement to sculpt mode.
This allows to see the propagation happening in real time, which enables
to use complex tools like Cloth or Pose in much higher resolutions and
without surface noise and artifacts.
Reviewed By: sergey, Severin
Differential Revision: https://developer.blender.org/D8555
Diffstat (limited to 'source/blender/blenkernel/intern/paint.c')
-rw-r--r-- | source/blender/blenkernel/intern/paint.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/paint.c b/source/blender/blenkernel/intern/paint.c index 19d5c34ad73..f6e744096bb 100644 --- a/source/blender/blenkernel/intern/paint.c +++ b/source/blender/blenkernel/intern/paint.c @@ -1421,7 +1421,7 @@ MultiresModifierData *BKE_sculpt_multires_active(Scene *scene, Object *ob) continue; } - if (mmd->sculptlvl > 0) { + if (mmd->sculptlvl > 0 && !(mmd->flags & eMultiresModifierFlag_UseSculptBaseMesh)) { return mmd; } @@ -1458,7 +1458,10 @@ static bool sculpt_modifiers_active(Scene *scene, Sculpt *sd, Object *ob) continue; } if (md->type == eModifierType_Multires && (ob->mode & OB_MODE_SCULPT)) { - continue; + MultiresModifierData *mmd = (MultiresModifierData *)md; + if (!(mmd->flags & eMultiresModifierFlag_UseSculptBaseMesh)) { + continue; + } } if (md->type == eModifierType_ShapeKey) { continue; |