diff options
author | Nicholas Bishop <nicholasbishop@gmail.com> | 2008-07-23 03:48:18 +0400 |
---|---|---|
committer | Nicholas Bishop <nicholasbishop@gmail.com> | 2008-07-23 03:48:18 +0400 |
commit | fc476becb844c6b7b43fb1c8a4365e2a69941a17 (patch) | |
tree | 7203171d7dc7fb0a74ff36e4d81026755a015fd5 /source/blender/src | |
parent | e11b034f7e375f57c0cc0df561cc23d7de02329f (diff) |
Fix joining of multires meshes. The resulting mesh always has all the displacements -- if the mesh being joined to didn't have multires, it will once it's joined with a multires mesh.
Diffstat (limited to 'source/blender/src')
-rw-r--r-- | source/blender/src/meshtools.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/src/meshtools.c b/source/blender/src/meshtools.c index 0f30aef04df..7e292e10ff8 100644 --- a/source/blender/src/meshtools.c +++ b/source/blender/src/meshtools.c @@ -72,6 +72,7 @@ void sort_faces(void); #include "BKE_main.h" #include "BKE_mesh.h" #include "BKE_material.h" +#include "BKE_multires.h" #include "BKE_object.h" #include "BKE_utildefines.h" @@ -125,7 +126,7 @@ int join_mesh(void) MFace *mface = NULL, *mfacemain; float imat[4][4], cmat[4][4]; int a, b, totcol, totedge=0, totvert=0, totface=0, ok=0, vertofs, map[MAXMAT]; - int i, j, index, haskey=0, hasmulti=0, edgeofs, faceofs; + int i, j, index, haskey=0, hasmulti=0, edgeofs, faceofs; bDeformGroup *dg, *odg; MDeformVert *dvert; CustomData vdata, edata, fdata; @@ -265,6 +266,9 @@ int join_mesh(void) base= base->next; } + /* For multires, need to unify the modifiers to ensure displacements aren't destroyed */ + multiresModifier_join(ob); + me= ob->data; memset(&vdata, 0, sizeof(vdata)); |