From 02dbe3b0c78045abb49a32c562933b621f3aa0b1 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 14 Aug 2018 11:45:26 +0200 Subject: Multires: Synchronize settings with Subsurf modifier Currently no functional changes, just exposes all settings which we need for OpenSubdiv, similar to what Subsurf modifier is doing already. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D3602 --- source/blender/blenkernel/intern/multires.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'source/blender/blenkernel/intern/multires.c') diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c index 0774d65182f..bb261ec9590 100644 --- a/source/blender/blenkernel/intern/multires.c +++ b/source/blender/blenkernel/intern/multires.c @@ -884,7 +884,7 @@ void multiresModifier_base_apply(MultiresModifierData *mmd, Scene *scene, Object /* subdivide the mesh to highest level without displacements */ cddm = CDDM_from_mesh(me); DM_set_only_copy(cddm, CD_MASK_BAREMESH); - origdm = subsurf_dm_create_local(scene, ob, cddm, totlvl, 0, 0, mmd->flags & eMultiresModifierFlag_PlainUv, 0, false); + origdm = subsurf_dm_create_local(scene, ob, cddm, totlvl, 0, 0, mmd->uv_smooth == SUBSURF_UV_SMOOTH_NONE, 0, false); cddm->release(cddm); /* calc disps */ @@ -925,7 +925,7 @@ static void multires_subdivide( /* create subsurf DM from original mesh at high level */ cddm = CDDM_from_mesh(me); DM_set_only_copy(cddm, CD_MASK_BAREMESH); - highdm = subsurf_dm_create_local(scene, ob, cddm, totlvl, simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv, has_mask, false); + highdm = subsurf_dm_create_local(scene, ob, cddm, totlvl, simple, 0, mmd->uv_smooth == SUBSURF_UV_SMOOTH_NONE, has_mask, false); ss = ((CCGDerivedMesh *)highdm)->ss; /* create multires DM from original mesh at low level */ @@ -1246,7 +1246,7 @@ void multires_modifier_update_mdisps(struct DerivedMesh *dm, Scene *scene) else cddm = CDDM_from_mesh(me); DM_set_only_copy(cddm, CD_MASK_BAREMESH); - highdm = subsurf_dm_create_local(scene, ob, cddm, totlvl, mmd->simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv, has_mask, false); + highdm = subsurf_dm_create_local(scene, ob, cddm, totlvl, mmd->simple, 0, mmd->uv_smooth == SUBSURF_UV_SMOOTH_NONE, has_mask, false); ss = ((CCGDerivedMesh *)highdm)->ss; /* create multires DM from original mesh and displacements */ @@ -1308,7 +1308,7 @@ void multires_modifier_update_mdisps(struct DerivedMesh *dm, Scene *scene) else cddm = CDDM_from_mesh(me); DM_set_only_copy(cddm, CD_MASK_BAREMESH); - subdm = subsurf_dm_create_local(scene, ob, cddm, mmd->totlvl, mmd->simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv, has_mask, false); + subdm = subsurf_dm_create_local(scene, ob, cddm, mmd->totlvl, mmd->simple, 0, mmd->uv_smooth == SUBSURF_UV_SMOOTH_NONE, has_mask, false); cddm->release(cddm); multiresModifier_disp_run(dm, me, NULL, CALC_DISPLACEMENTS, subdm->getGridData(subdm), mmd->totlvl); @@ -1390,7 +1390,7 @@ DerivedMesh *multires_make_derived_from_derived(DerivedMesh *dm, result = subsurf_dm_create_local(scene, ob, dm, lvl, mmd->simple, mmd->flags & eMultiresModifierFlag_ControlEdges, - mmd->flags & eMultiresModifierFlag_PlainUv, + mmd->uv_smooth == SUBSURF_UV_SMOOTH_NONE, flags & MULTIRES_ALLOC_PAINT_MASK, render); @@ -2214,7 +2214,7 @@ static void multires_apply_smat(struct Depsgraph *depsgraph, Scene *scene, Objec MEM_freeN(vertCos); /* scaled ccgDM for tangent space of object with applied scale */ - dm = subsurf_dm_create_local(scene, ob, cddm, high_mmd.totlvl, high_mmd.simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv, 0, false); + dm = subsurf_dm_create_local(scene, ob, cddm, high_mmd.totlvl, high_mmd.simple, 0, mmd->uv_smooth == SUBSURF_UV_SMOOTH_NONE, 0, false); cddm->release(cddm); gridSize = dm->getGridSize(dm); -- cgit v1.2.3