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:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-11-26 17:39:08 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-11-26 17:41:37 +0300
commit9abcf56fa88dd849bf0f83fafe5d4666d3531cd2 (patch)
tree928dd1bace4b53b8086aaa74e395762979d2f478 /source/blender/modifiers/intern/MOD_subsurf.c
parente6322abad23a8ae71b72e54befffc17ae35e30d9 (diff)
Enable OpenSubdiv modifier by default
This commit makes it so that subsurf/multires modifiers will respect the WITH_OPENSUBDIV option. The WITH_OPENSUBDIV_MODIFIER option is now gone. For artists it mean that subsurf modifier will behave same as it is planned for 2.80. Multires will now support sculpting, but it has some known limitations. Those will be worked on before the final release. If OpenSubdiv is disabled, no subsurf/multires functionality will present. For the details see: https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Modeling#Subsurf.2FMultires
Diffstat (limited to 'source/blender/modifiers/intern/MOD_subsurf.c')
-rw-r--r--source/blender/modifiers/intern/MOD_subsurf.c52
1 files changed, 3 insertions, 49 deletions
diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c
index dee9089d7d3..9c6bff6b291 100644
--- a/source/blender/modifiers/intern/MOD_subsurf.c
+++ b/source/blender/modifiers/intern/MOD_subsurf.c
@@ -99,47 +99,6 @@ static bool isDisabled(const Scene *scene, ModifierData *md, bool useRenderParam
return get_render_subsurf_level(&scene->r, levels, useRenderParams != 0) == 0;
}
-#ifndef WITH_OPENSUBDIV_MODIFIER
-
-static DerivedMesh *applyModifier_DM(
- ModifierData *md, const ModifierEvalContext *ctx,
- DerivedMesh *derivedData)
-{
- SubsurfModifierData *smd = (SubsurfModifierData *) md;
- struct Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
- SubsurfFlags subsurf_flags = 0;
- DerivedMesh *result;
- const bool useRenderParams = (ctx->flag & MOD_APPLY_RENDER) != 0;
- const bool isFinalCalc = (ctx->flag & MOD_APPLY_USECACHE) != 0;
-
- bool do_cddm_convert = useRenderParams || !isFinalCalc;
-
- if (useRenderParams)
- subsurf_flags |= SUBSURF_USE_RENDER_PARAMS;
- if (isFinalCalc)
- subsurf_flags |= SUBSURF_IS_FINAL_CALC;
- if (ctx->object->mode & OB_MODE_EDIT)
- subsurf_flags |= SUBSURF_IN_EDIT_MODE;
-
- result = subsurf_make_derived_from_derived(derivedData, smd, scene, NULL, subsurf_flags);
- result->cd_flag = derivedData->cd_flag;
-
- {
- DerivedMesh *cddm = CDDM_copy(result);
- result->release(result);
- result = cddm;
- }
-
- (void) do_cddm_convert;
-
- return result;
-}
-
-applyModifier_DM_wrapper(applyModifier, applyModifier_DM)
-
-#endif
-
-#ifdef WITH_OPENSUBDIV_MODIFIER
static int subdiv_levels_for_modifier_get(const SubsurfModifierData *smd,
const ModifierEvalContext *ctx)
{
@@ -217,9 +176,9 @@ static Mesh *subdiv_as_ccg(SubsurfModifierData *smd,
/* Modifier itself. */
-static Mesh *applyModifier_subdiv(ModifierData *md,
- const ModifierEvalContext *ctx,
- Mesh *mesh)
+static Mesh *applyModifier(ModifierData *md,
+ const ModifierEvalContext *ctx,
+ Mesh *mesh)
{
Mesh *result = mesh;
SubsurfModifierData *smd = (SubsurfModifierData *) md;
@@ -248,7 +207,6 @@ static Mesh *applyModifier_subdiv(ModifierData *md,
BKE_subdiv_free(subdiv);
return result;
}
-#endif
ModifierTypeInfo modifierType_Subsurf = {
/* name */ "Subdivision",
@@ -273,11 +231,7 @@ ModifierTypeInfo modifierType_Subsurf = {
/* deformMatrices */ NULL,
/* deformVertsEM */ NULL,
/* deformMatricesEM */ NULL,
-#ifdef WITH_OPENSUBDIV_MODIFIER
- /* applyModifier */ applyModifier_subdiv,
-#else
/* applyModifier */ applyModifier,
-#endif
/* initData */ initData,
/* requiredDataMask */ NULL,