fix for materials not displaying in object mode wiht subsurf

This commit is contained in:
Joseph Eagar
2009-11-16 08:26:47 +00:00
parent 1d787cdaa4
commit 3a19c341de
2 changed files with 8 additions and 7 deletions

View File

@@ -1657,6 +1657,8 @@ int mesh_recalcTesselation(CustomData *fdata,
mf[k].v1 = f->v1->keyindex;
mf[k].v2 = f->v2->keyindex;
mf[k].v3 = f->v3->keyindex;
mf[k].mat_nr = mp->mat_nr;
mf[k].flag = mp->flag;
origIndex[k] = f->v1->tmp.l;
k++;
@@ -1695,9 +1697,6 @@ int mesh_recalcTesselation(CustomData *fdata,
mf->v2 = mloop[mf->v2].v;
mf->v3 = mloop[mf->v3].v;
mf->flag = mpoly[origIndex[i]].flag;
mf->mat_nr = mpoly[origIndex[i]].mat_nr;
mesh_loops_to_corners(fdata, ldata, pdata,
lindex, i, origIndex[i], numTex, numCol);
}

View File

@@ -1506,7 +1506,7 @@ void *cgdm_faceIterCData(void *self, int type, int layer)
void cgdm_loopIterStep(void *self)
{
cgdm_loopIter *liter = self;
MFace *mf = &liter->fiter->mface;
MFace *mf = liter->fiter->mface;
int i, v1, v2;
liter->head.index++;
@@ -1638,10 +1638,12 @@ static void cgdm_copyFinalFaceArray(DerivedMesh *dm, MFace *mface)
edgeSize, gridSize);
mf->v4 = getFaceIndex(ss, f, S, x + 1, y + 0,
edgeSize, gridSize);
mf->mat_nr = mat_nr;
if(faceFlags) mf->flag = faceFlags[index*4];
else mf->flag = flag;
if (faceFlags) {
mat_nr = faceFlags[index*4+1];
mf->flag = faceFlags[index*4];
} else mf->flag = flag;
mf->mat_nr = mat_nr;
i++;
}
}