[Bf-blender-cvs] [51a088cbea8] fracture_modifier: also store material index in shards, so it can be loaded from blend later
Martin Felke
noreply at git.blender.org
Wed Jun 7 16:15:46 CEST 2017
Commit: 51a088cbea83f146f4416d1d25edc8d64d7b7cb2
Author: Martin Felke
Date: Wed Jun 7 16:15:39 2017 +0200
Branches: fracture_modifier
https://developer.blender.org/rB51a088cbea83f146f4416d1d25edc8d64d7b7cb2
also store material index in shards, so it can be loaded from blend later
===================================================================
M source/blender/blenkernel/intern/fracture.c
===================================================================
diff --git a/source/blender/blenkernel/intern/fracture.c b/source/blender/blenkernel/intern/fracture.c
index 642aeae925b..d1d9b73a8e9 100644
--- a/source/blender/blenkernel/intern/fracture.c
+++ b/source/blender/blenkernel/intern/fracture.c
@@ -2733,7 +2733,7 @@ int BKE_fracture_update_visual_mesh(FractureModifierData *fmd, Object *ob, bool
DerivedMesh *dm = fmd->visible_mesh_cached;
int vertstart = 0, totvert = 0, totpoly = 0, polystart = 0, matstart = 1, defstart = 0;
MVert *mv = NULL;
- MPoly *mp = NULL, *mpoly = NULL, *ppoly = NULL, *pp = NULL;
+ MPoly *mp = NULL, *mpoly = NULL, *ppoly = NULL, *pp = NULL, *spoly = NULL, *sp = NULL;
int i = 0, j = 0;
MDeformVert *dvert = NULL;
@@ -2846,7 +2846,8 @@ int BKE_fracture_update_visual_mesh(FractureModifierData *fmd, Object *ob, bool
totpoly = mi->physics_mesh->getNumPolys(mi->physics_mesh);
ppoly = mi->physics_mesh->getPolyArray(mi->physics_mesh);
- for (j = 0, mp = mpoly + polystart, pp = ppoly; j < totpoly; j++, mp++, pp++)
+ spoly = s->mpoly;
+ for (j = 0, mp = mpoly + polystart, pp = ppoly, sp = spoly; j < totpoly; j++, mp++, pp++, sp++)
{
/* material index lookup and correction, avoid having the same material in different slots */
int index = GET_INT_FROM_POINTER(BLI_ghash_lookup(fmd->material_index_map,
@@ -2856,9 +2857,10 @@ int BKE_fracture_update_visual_mesh(FractureModifierData *fmd, Object *ob, bool
index--;
mp->mat_nr = index;
- //store this on physics mesh as well, so for being able to reload it from blend later (without
+ //store this on physics mesh as well, and on shard too so for being able to reload it from blend later (without
// having a materialmap then)
pp->mat_nr = index;
+ sp->mat_nr = index;
}
/* fortunately we know how many faces "belong" to this meshisland, too */
More information about the Bf-blender-cvs
mailing list