Deformed meshes (by armature for example) didn't get drawn correctly
for vertex paint, weightpaint, UV faceselect. Was OK in 2.34 :)

Additional to that I found out vertex paint doesn't correctly use the
'Area' option, when a mesh was deformed. That was an oldie.

Plus; made tooltips for 'Area' and 'Normals' in Paint Panel clear.
This commit is contained in:
2004-11-05 12:58:12 +00:00
parent 5ffb4cb338
commit b169abb4cf
3 changed files with 27 additions and 14 deletions

View File

@@ -4600,6 +4600,8 @@ static int bbs_mesh_solid(Object *ob, int facecol)
MVert *mvert;
MFace *mface;
TFace *tface;
DispList *dl;
float *extverts=NULL;
int a, totface, hastface, i;
mvert= me->mvert;
@@ -4607,6 +4609,9 @@ static int bbs_mesh_solid(Object *ob, int facecol)
tface= me->tface;
hastface = (me->tface != NULL);
totface= me->totface;
dl= find_displist(&ob->disp, DL_VERTS);
if(dl) extverts= dl->verts;
glBegin(GL_QUADS);
glmode= GL_QUADS;
@@ -4622,10 +4627,18 @@ static int bbs_mesh_solid(Object *ob, int facecol)
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);}}
glVertex3fv( (mvert+mface->v1)->co );
glVertex3fv( (mvert+mface->v2)->co );
glVertex3fv( (mvert+mface->v3)->co );
if(mface->v4) glVertex3fv( (mvert+mface->v4)->co );
if(extverts) {
glVertex3fv( extverts+3*mface->v1 );
glVertex3fv( extverts+3*mface->v2 );
glVertex3fv( extverts+3*mface->v3 );
if(mface->v4) glVertex3fv( extverts+3*mface->v4 );
}
else {
glVertex3fv( (mvert+mface->v1)->co );
glVertex3fv( (mvert+mface->v2)->co );
glVertex3fv( (mvert+mface->v3)->co );
if(mface->v4) glVertex3fv( (mvert+mface->v4)->co );
}
}
}
glEnd();