forked from bartvdbraak/blender
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:
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,32 +1566,36 @@ 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++) {
|
||||||
MVert *v0 = &mvert[vertofs+medge->v1];
|
|
||||||
MVert *v1 = &mvert[vertofs+medge->v2];
|
|
||||||
|
|
||||||
vlr= RE_findOrAddVlak(R.totvlak++);
|
if( (me->flag & ME_OPT_EDGES)==0 || (medge->flag & ME_EDGEDRAW)) {
|
||||||
vlr->ob= vlr_set_ob(ob);
|
MVert *v0 = &mvert[vertofs+medge->v1];
|
||||||
vlr->v1= RE_findOrAddVert(vertofs+medge->v1);
|
MVert *v1 = &mvert[vertofs+medge->v2];
|
||||||
vlr->v2= RE_findOrAddVert(vertofs+medge->v2);
|
|
||||||
vlr->v3= vlr->v2;
|
|
||||||
vlr->v4= NULL;
|
|
||||||
|
|
||||||
xn= (v0->no[0]+v1->no[0]);
|
vlr= RE_findOrAddVlak(R.totvlak++);
|
||||||
yn= (v0->no[1]+v1->no[1]);
|
vlr->ob= vlr_set_ob(ob);
|
||||||
zn= (v0->no[2]+v1->no[2]);
|
vlr->v1= RE_findOrAddVert(vertofs+medge->v1);
|
||||||
if(do_puno==0) {
|
vlr->v2= RE_findOrAddVert(vertofs+medge->v2);
|
||||||
/* transpose ! */
|
vlr->v3= vlr->v2;
|
||||||
vlr->n[0]= imat[0][0]*xn+imat[0][1]*yn+imat[0][2]*zn;
|
vlr->v4= NULL;
|
||||||
vlr->n[1]= imat[1][0]*xn+imat[1][1]*yn+imat[1][2]*zn;
|
|
||||||
vlr->n[2]= imat[2][0]*xn+imat[2][1]*yn+imat[2][2]*zn;
|
xn= (v0->no[0]+v1->no[0]);
|
||||||
Normalise(vlr->n);
|
yn= (v0->no[1]+v1->no[1]);
|
||||||
|
zn= (v0->no[2]+v1->no[2]);
|
||||||
|
if(do_puno==0) {
|
||||||
|
/* transpose ! */
|
||||||
|
vlr->n[0]= imat[0][0]*xn+imat[0][1]*yn+imat[0][2]*zn;
|
||||||
|
vlr->n[1]= imat[1][0]*xn+imat[1][1]*yn+imat[1][2]*zn;
|
||||||
|
vlr->n[2]= imat[2][0]*xn+imat[2][1]*yn+imat[2][2]*zn;
|
||||||
|
Normalise(vlr->n);
|
||||||
|
}
|
||||||
|
|
||||||
|
vlr->mat= ma;
|
||||||
|
vlr->flag= 0;
|
||||||
|
vlr->ec= ME_V1V2;
|
||||||
|
vlr->lay= ob->lay;
|
||||||
}
|
}
|
||||||
|
|
||||||
vlr->mat= ma;
|
|
||||||
vlr->flag= 0;
|
|
||||||
vlr->ec= ME_V1V2;
|
|
||||||
vlr->lay= ob->lay;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user