forked from bartvdbraak/blender
Fix #21827: Outer portions of extruded 2D curves do not render correctly
DispList->rt is used by render stuff to set vlak flags. This rt field is setting to nurbs's flags in displist creation function. Possible flags for nurbs are CU_SMOOTH and CU_2D. CU_SMOOTH is ok, but CU_2D conflicts with R_NOPUNOFLIP. I cleared rt's CU_2D flag. Don't forget about possible conflicts if new nurbs flags will be added.
This commit is contained in:
parent
c36e00cd52
commit
bdea39c809
@ -1589,7 +1589,10 @@ void makeDispListSurf(Scene *scene, Object *ob, ListBase *dispbase,
|
||||
dl->nr= len;
|
||||
dl->col= nu->mat_nr;
|
||||
dl->charidx= nu->charidx;
|
||||
dl->rt= nu->flag;
|
||||
|
||||
/* dl->rt will be used as flag for render face and */
|
||||
/* CU_2D conflicts with R_NOPUNOFLIP */
|
||||
dl->rt= nu->flag & ~CU_2D;
|
||||
|
||||
data= dl->verts;
|
||||
if(nu->flagu & CU_NURB_CYCLIC) dl->type= DL_POLY;
|
||||
@ -1606,7 +1609,10 @@ void makeDispListSurf(Scene *scene, Object *ob, ListBase *dispbase,
|
||||
|
||||
dl->col= nu->mat_nr;
|
||||
dl->charidx= nu->charidx;
|
||||
dl->rt= nu->flag;
|
||||
|
||||
/* dl->rt will be used as flag for render face and */
|
||||
/* CU_2D conflicts with R_NOPUNOFLIP */
|
||||
dl->rt= nu->flag & ~CU_2D;
|
||||
|
||||
data= dl->verts;
|
||||
dl->type= DL_SURF;
|
||||
@ -1701,7 +1707,10 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba
|
||||
dl->nr= bl->nr;
|
||||
dl->col= nu->mat_nr;
|
||||
dl->charidx= nu->charidx;
|
||||
dl->rt= nu->flag;
|
||||
|
||||
/* dl->rt will be used as flag for render face and */
|
||||
/* CU_2D conflicts with R_NOPUNOFLIP */
|
||||
dl->rt= nu->flag & ~CU_2D;
|
||||
|
||||
a= dl->nr;
|
||||
bevp= (BevPoint *)(bl+1);
|
||||
@ -1734,7 +1743,11 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba
|
||||
dl->nr= dlb->nr;
|
||||
dl->col= nu->mat_nr;
|
||||
dl->charidx= nu->charidx;
|
||||
dl->rt= nu->flag;
|
||||
|
||||
/* dl->rt will be used as flag for render face and */
|
||||
/* CU_2D conflicts with R_NOPUNOFLIP */
|
||||
dl->rt= nu->flag & ~CU_2D;
|
||||
|
||||
dl->bevelSplitFlag= MEM_callocN(sizeof(*dl->col2)*((bl->nr+0x1F)>>5), "col2");
|
||||
bevp= (BevPoint *)(bl+1);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user