- disable re-tesselating derived meshes in BMEdit_RecalcTesselation() have modifier stack do this.
- made editbmesh_calc_modifiers() ensure tessfaces, this has the advantage that if the tessfaces are already created they wont get re-made as was happening before.
This commit is contained in:
@@ -1776,7 +1776,12 @@ static void editbmesh_calc_modifiers(Scene *scene, Object *ob, BMEditMesh *em, D
|
||||
(*final_r)->calcNormals(*final_r); /* BMESH_ONLY - BMESH_TODO. check if this is needed */
|
||||
}
|
||||
|
||||
DM_ensure_tessface(*final_r); /* BMESH_ONLY */
|
||||
/* --- */
|
||||
/* BMESH_ONLY, ensure tessface's used for drawing,
|
||||
* but dont recalculate if the last modifier in the stack gives us tessfaces */
|
||||
DM_ensure_tessface(*final_r);
|
||||
if (cage_r && (*cage_r != *final_r)) DM_ensure_tessface(*cage_r);
|
||||
/* --- */
|
||||
|
||||
/* add an orco layer if needed */
|
||||
if(dataMask & CD_MASK_ORCO)
|
||||
|
||||
@@ -223,6 +223,8 @@ void BMEdit_RecalcTesselation(BMEditMesh *em)
|
||||
{
|
||||
BMEdit_RecalcTesselation_intern(em);
|
||||
|
||||
/* commented because editbmesh_build_data() ensures we get tessfaces */
|
||||
#if 0
|
||||
if (em->derivedFinal && em->derivedFinal == em->derivedCage) {
|
||||
if (em->derivedFinal->recalcTesselation)
|
||||
em->derivedFinal->recalcTesselation(em->derivedFinal);
|
||||
@@ -233,6 +235,7 @@ void BMEdit_RecalcTesselation(BMEditMesh *em)
|
||||
if (em->derivedFinal->recalcTesselation)
|
||||
em->derivedFinal->recalcTesselation(em->derivedFinal);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void BMEdit_UpdateLinkedCustomData(BMEditMesh *em)
|
||||
|
||||
Reference in New Issue
Block a user