diff options
Diffstat (limited to 'source/blender/blenkernel/intern/displist.c')
-rw-r--r-- | source/blender/blenkernel/intern/displist.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 35097c05358..84025204ee4 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -60,7 +60,6 @@ #include "BLI_editVert.h" #include "BLI_edgehash.h" -#include "BKE_bad_level_calls.h" #include "BKE_utildefines.h" #include "BKE_global.h" #include "BKE_displist.h" @@ -558,6 +557,7 @@ static void mesh_create_shadedColors(Render *re, Object *ob, int onlyForMesh, un } for (i=0; i<totface; i++) { + extern Material defmaterial; /* material.c */ MFace *mf= &mface[i]; Material *ma= give_current_material(ob, mf->mat_nr+1); int j, vidx[4], nverts= mf->v4?4:3; @@ -669,6 +669,8 @@ void shadeDispList(Base *base) dl= cu->disp.first; while(dl) { + extern Material defmaterial; /* material.c */ + dlob= MEM_callocN(sizeof(DispList), "displistshade"); BLI_addtail(&ob->disp, dlob); dlob->type= DL_VERTCOL; @@ -739,6 +741,7 @@ void shadeDispList(Base *base) if(dl->type==DL_INDEX4) { if(dl->nors) { + extern Material defmaterial; /* material.c */ if(dl->col1) MEM_freeN(dl->col1); col1= dl->col1= MEM_mallocN(sizeof(int)*dl->nr, "col1"); @@ -887,7 +890,6 @@ static void curve_to_displist(Curve *cu, ListBase *nubase, ListBase *dispbase) } else if((nu->type & 7)==CU_NURBS) { len= (resolu*SEGMENTSU(nu)); - if((nu->flagu & CU_CYCLIC)==0) len++; dl= MEM_callocN(sizeof(DispList), "makeDispListsurf"); dl->verts= MEM_callocN(len*3*sizeof(float), "dlverts"); @@ -1370,7 +1372,7 @@ void makeDispListSurf(Object *ob, ListBase *dispbase, int forRender) float (*deformedVerts)[3]; if(!forRender && ob==G.obedit) { - nubase= &editNurb; + //XXX nubase= &editNurb; } else { nubase= &cu->nurb; @@ -1381,7 +1383,7 @@ void makeDispListSurf(Object *ob, ListBase *dispbase, int forRender) for (nu=nubase->first; nu; nu=nu->next) { if(forRender || nu->hide==0) { if(nu->pntsv==1) { - len= nu->pntsu*nu->resolu; + len= SEGMENTSU(nu)*nu->resolu; dl= MEM_callocN(sizeof(DispList), "makeDispListsurf"); dl->verts= MEM_callocN(len*3*sizeof(float), "dlverts"); @@ -1453,7 +1455,7 @@ void makeDispListCurveTypes(Object *ob, int forOrco) float (*originalVerts)[3]; float (*deformedVerts)[3]; int obedit= (G.obedit && G.obedit->data==ob->data && G.obedit->type==OB_CURVE); - ListBase *nubase = obedit?&editNurb:&cu->nurb; + ListBase *nubase; //XXX ListBase *nubase = obedit?&editNurb:&cu->nurb; int numVerts; BLI_freelistN(&(cu->bev)); |