remove re-tesselation after constrictive modifiers, this way we can avoid calculating tessfaces between multiple constructive modifiers to speedup the modifier stack.

This commit is contained in:
Campbell Barton
2012-01-05 12:50:23 +00:00
parent 7fd67392eb
commit 7d02f986b6
4 changed files with 2 additions and 13 deletions

View File

@@ -399,10 +399,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
BLI_ghashIterator_free(hashIter);
MEM_freeN(loop_mapping);
/* BMESH_TODO - remove this and make modifiers create their own tessfaces on demand */
CDDM_recalc_tesselation(result);
/* why is this needed? - campbell */
/* recalculate normals */
CDDM_calc_normals(result);

View File

@@ -283,9 +283,6 @@ static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd,
MEM_freeN(vtargetmap);
}
/* BMESH_TODO - remove this and make modifiers create their own tessfaces on demand */
CDDM_recalc_tesselation(result);
return result;
}

View File

@@ -904,11 +904,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
}
#endif
/* BMESH_TODO - remove this and make modifiers create their own tessfaces on demand */
CDDM_recalc_tesselation(result);
if((ltmd->flag & MOD_SCREW_NORMAL_CALC) == 0) {
/* BMESH_TODO, we only need to get vertex normals here, this is way overkill */
CDDM_calc_normals(result);
}

View File

@@ -728,9 +728,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
/* BMESH_TODO, we only need to get vertex normals here, this is way overkill */
CDDM_calc_normals(result);
}
else {
CDDM_recalc_tesselation(result);
}
if (dm != odm) {
dm->needsFree = 1;