diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-08-05 12:54:11 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-08-05 12:55:06 +0300 |
commit | 80c50a1d4903a5c31765a85e270660afbce21263 (patch) | |
tree | ad62581f8d8fa1b2e03506bf410824e760e2ffb7 /source/blender | |
parent | b5c602c9c23b517d82709979fe9b00d282e139fb (diff) |
OpenSubdiv: Make subsurf behavior closer to original one when built with OpenSubdiv but without enabling option
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/subsurf_ccg.c | 12 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_subsurf.c | 2 |
2 files changed, 9 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index f6337d6ed60..a3e4b47fd15 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -4758,11 +4758,15 @@ struct DerivedMesh *subsurf_make_derived_from_derived( * this is to be investiated still to be sure we don't have * regressions here. */ - prevSS = smd->mCache; -#else - ccgSubSurf_free(smd->mCache); - smd->mCache = NULL; + if (use_gpu_backend) { + prevSS = smd->mCache; + } + else #endif + { + ccgSubSurf_free(smd->mCache); + smd->mCache = NULL; + } } diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index dc6e3b4e70a..edf02abfd2a 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -104,7 +104,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, #ifdef WITH_OPENSUBDIV const bool allow_gpu = (flag & MOD_APPLY_ALLOW_GPU) != 0; - const bool do_cddm_convert = useRenderParams; + const bool do_cddm_convert = useRenderParams || (!isFinalCalc && !smd->use_opensubdiv); #else const bool do_cddm_convert = useRenderParams || !isFinalCalc; #endif |