diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-02-05 15:30:26 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-02-05 15:30:26 +0400 |
commit | 543fb27fd0a54287b32f3d2c0066c10a120a596d (patch) | |
tree | e50dd87a0ffb2abab73d3293dd126e2b2922b05a /source/blender/modifiers | |
parent | 059a4b508527d094bd456f49d7f18c75c5e72d33 (diff) |
support for 'origspace' data layer - used for hair on subsurf mesh.
currently only works for 3/4 sided faces.
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r-- | source/blender/modifiers/intern/MOD_ngoninterp.c | 4 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_particlesystem.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/modifiers/intern/MOD_ngoninterp.c b/source/blender/modifiers/intern/MOD_ngoninterp.c index 264578ea3d8..498e5d3bdea 100644 --- a/source/blender/modifiers/intern/MOD_ngoninterp.c +++ b/source/blender/modifiers/intern/MOD_ngoninterp.c @@ -94,6 +94,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), int numTex; int numCol; int hasWCol; + int hasOrigSpace; if (nmd->resolution <= 0) return dm; @@ -120,6 +121,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), numTex = CustomData_number_of_layers(&dm->polyData, CD_MTEXPOLY); numCol = CustomData_number_of_layers(&dummy->loopData, CD_MLOOPCOL); hasWCol = CustomData_has_layer(&dummy->loopData, CD_WEIGHT_MLOOPCOL); + hasOrigSpace = CustomData_has_layer(&dummy->loopData, CD_ORIGSPACE_MLOOP); /*copy original verts here, so indices stay correct*/ omvert = dm->getVertArray(dm); @@ -272,7 +274,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), mesh_loops_to_mface_corners(&cddm->faceData, &dummy->loopData, &dm->polyData, lindex, i, origf[i], 3, - numTex, numCol, hasWCol); + numTex, numCol, hasWCol, hasOrigSpace); } CustomData_copy_data(&dm->vertData, &cddm->vertData, 0, 0, dm->numVertData); diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 98a1921f14b..10e43afebe2 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -112,7 +112,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) /* particles only need this if they are after a non deform modifier, and * the modifier stack will only create them in that case. */ - dataMask |= CD_MASK_ORIGSPACE|CD_MASK_ORIGINDEX; + dataMask |= CD_MASK_ORIGSPACE_MLOOP|CD_MASK_ORIGINDEX; dataMask |= CD_MASK_ORCO; |