diff options
author | Nicholas Bishop <nicholasbishop@gmail.com> | 2008-06-20 22:19:37 +0400 |
---|---|---|
committer | Nicholas Bishop <nicholasbishop@gmail.com> | 2008-06-20 22:19:37 +0400 |
commit | 5de9776575d15e9f2cb13ec174d9a560c52b63e2 (patch) | |
tree | 8dcf9cf1de72143563eac233bd87b1ce98ab44a5 /source/blender/blenkernel/intern/multires.c | |
parent | d6dc18013d59ac208d8f048b3e5b54e8fd013471 (diff) |
Fixed updating displacements for meshes with more than one polygon
Diffstat (limited to 'source/blender/blenkernel/intern/multires.c')
-rw-r--r-- | source/blender/blenkernel/intern/multires.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c index c83081392e2..c41e1cce463 100644 --- a/source/blender/blenkernel/intern/multires.c +++ b/source/blender/blenkernel/intern/multires.c @@ -1557,9 +1557,10 @@ static void multiresModifier_update(DerivedMesh *dm) if(mdisps) { MultiresDisplacer d; + float (*subco)[3] = MultiresDM_get_subco(dm); mvert = CDDM_get_verts(dm); - mface = CDDM_get_faces(dm); + mface = MultiresDM_get_orfa(dm); /* For now just handle top-level sculpts */ for(i = 0; i < MultiresDM_get_totorfa(dm); ++i) { @@ -1569,6 +1570,7 @@ static void multiresModifier_update(DerivedMesh *dm) // convert from mvert->co to disps multires_displacer_init(&d, dm, i, numVerts, 1); + d.subco = subco; multires_displacer_anchor(&d, 1, 0); multires_displace(&d, mvert->co); ++mvert; @@ -1591,6 +1593,8 @@ static void multiresModifier_update(DerivedMesh *dm) multires_displacer_jump(&d); } } + + subco = d.subco; } } } |