Face selection in uv face select mode, with hidden faces, was broken:

there was no check for hidden tfaces in backbuffer draw.
This commit is contained in:
2004-10-12 15:15:10 +00:00
parent 3a2d57856b
commit 42ecc3c56d

View File

@@ -4529,25 +4529,28 @@ static int bbs_mesh_solid(Object *ob, int facecol)
Mesh *me= ob->data; Mesh *me= ob->data;
MVert *mvert; MVert *mvert;
MFace *mface; MFace *mface;
int a, totface; TFace *tface;
int a, totface, hastface, i;
mvert= me->mvert; mvert= me->mvert;
mface= me->mface; mface= me->mface;
tface= me->tface;
hastface = (me->tface != NULL);
totface= me->totface; totface= me->totface;
glBegin(GL_QUADS); glBegin(GL_QUADS);
glmode= GL_QUADS; glmode= GL_QUADS;
for(a=0; a<totface; a++, mface++) { for(a=0; a<totface; a++, mface++, tface++) {
if(mface->v3) { if(mface->v3) {
if(facecol) {
if(hastface && tface->flag & TF_HIDE) continue;
i= index_to_framebuffer(a+1);
cpack(i);
}
if(mface->v4) {if(glmode==GL_TRIANGLES) {glmode= GL_QUADS; glEnd(); glBegin(GL_QUADS);}} if(mface->v4) {if(glmode==GL_TRIANGLES) {glmode= GL_QUADS; glEnd(); glBegin(GL_QUADS);}}
else {if(glmode==GL_QUADS) {glmode= GL_TRIANGLES; glEnd(); glBegin(GL_TRIANGLES);}} else {if(glmode==GL_QUADS) {glmode= GL_TRIANGLES; glEnd(); glBegin(GL_TRIANGLES);}}
if(facecol) {
int i= index_to_framebuffer(a+1);
cpack(i);
}
glVertex3fv( (mvert+mface->v1)->co ); glVertex3fv( (mvert+mface->v1)->co );
glVertex3fv( (mvert+mface->v2)->co ); glVertex3fv( (mvert+mface->v2)->co );