Two small corrections for subsurf + wire render;

- when edges data exists, it skips adding faces to renderlist
- edges are rendered according to "Optimal" subsurf setting
This commit is contained in:
Ton Roosendaal 2005-04-13 14:03:10 +00:00
parent 84359bf996
commit c3221bac83

@ -1438,6 +1438,12 @@ static void init_render_mesh(Object *ob)
} }
} }
/* if wire material, and we got edges, don't do the faces */
if(ma->mode & MA_WIRE) {
end= dlm?dlm->totedge:me->totedge;
if(end) ok= 0;
}
if(ok) { if(ok) {
TFace *tface= NULL; TFace *tface= NULL;
@ -1560,7 +1566,10 @@ static void init_render_mesh(Object *ob)
if(end && (ma->mode & MA_WIRE)) { if(end && (ma->mode & MA_WIRE)) {
MEdge *medge; MEdge *medge;
medge= dlm?dlm->medge:me->medge; medge= dlm?dlm->medge:me->medge;
for(a1=0; a1<end; a1++, medge++) { for(a1=0; a1<end; a1++, medge++) {
if( (me->flag & ME_OPT_EDGES)==0 || (medge->flag & ME_EDGEDRAW)) {
MVert *v0 = &mvert[vertofs+medge->v1]; MVert *v0 = &mvert[vertofs+medge->v1];
MVert *v1 = &mvert[vertofs+medge->v2]; MVert *v1 = &mvert[vertofs+medge->v2];
@ -1589,6 +1598,7 @@ static void init_render_mesh(Object *ob)
} }
} }
} }
}
if(do_puno) { if(do_puno) {
calc_vertexnormals(totverto, totvlako); calc_vertexnormals(totverto, totvlako);