forked from bartvdbraak/blender
mesh VBO drawing code was swapping red/blue vertex colors - this is confusing because MCol.r is blue and MCol.b is red but not excuse! (and how come nobody noticed this?).
- fixed this error in 4 places.
This commit is contained in:
parent
39c4e3ae3c
commit
7b3ea6cc2c
@ -756,9 +756,10 @@ static void cdDM_drawFacesTex_common(DerivedMesh *dm,
|
|||||||
unsigned char *colors = MEM_mallocN(dm->getNumFaces(dm)*4*3*sizeof(unsigned char), "cdDM_drawFacesTex_common");
|
unsigned char *colors = MEM_mallocN(dm->getNumFaces(dm)*4*3*sizeof(unsigned char), "cdDM_drawFacesTex_common");
|
||||||
for( i=0; i < dm->getNumFaces(dm); i++ ) {
|
for( i=0; i < dm->getNumFaces(dm); i++ ) {
|
||||||
for( j=0; j < 4; j++ ) {
|
for( j=0; j < 4; j++ ) {
|
||||||
colors[i*12+j*3] = col[i*4+j].r;
|
/* bgr -> rgb is intentional (and stupid), but how its stored internally */
|
||||||
|
colors[i*12+j*3] = col[i*4+j].b;
|
||||||
colors[i*12+j*3+1] = col[i*4+j].g;
|
colors[i*12+j*3+1] = col[i*4+j].g;
|
||||||
colors[i*12+j*3+2] = col[i*4+j].b;
|
colors[i*12+j*3+2] = col[i*4+j].r;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GPU_color3_upload(dm,colors);
|
GPU_color3_upload(dm,colors);
|
||||||
|
@ -450,9 +450,9 @@ static void add_tface_color_layer(DerivedMesh *dm)
|
|||||||
}
|
}
|
||||||
} else if (tface && tface->mode&TF_OBCOL) {
|
} else if (tface && tface->mode&TF_OBCOL) {
|
||||||
for(j=0;j<4;j++) {
|
for(j=0;j<4;j++) {
|
||||||
finalCol[i*4+j].r = FTOCHAR(Gtexdraw.obcol[0]);
|
finalCol[i*4+j].b = FTOCHAR(Gtexdraw.obcol[0]);
|
||||||
finalCol[i*4+j].g = FTOCHAR(Gtexdraw.obcol[1]);
|
finalCol[i*4+j].g = FTOCHAR(Gtexdraw.obcol[1]);
|
||||||
finalCol[i*4+j].b = FTOCHAR(Gtexdraw.obcol[2]);
|
finalCol[i*4+j].r = FTOCHAR(Gtexdraw.obcol[2]);
|
||||||
}
|
}
|
||||||
} else if (!mcol) {
|
} else if (!mcol) {
|
||||||
if (tface) {
|
if (tface) {
|
||||||
@ -471,9 +471,9 @@ static void add_tface_color_layer(DerivedMesh *dm)
|
|||||||
else copy_v3_v3(col, &ma->r);
|
else copy_v3_v3(col, &ma->r);
|
||||||
|
|
||||||
for(j=0;j<4;j++) {
|
for(j=0;j<4;j++) {
|
||||||
finalCol[i*4+j].b = FTOCHAR(col[2]);
|
finalCol[i*4+j].b = FTOCHAR(col[0]);
|
||||||
finalCol[i*4+j].g = FTOCHAR(col[1]);
|
finalCol[i*4+j].g = FTOCHAR(col[1]);
|
||||||
finalCol[i*4+j].r = FTOCHAR(col[0]);
|
finalCol[i*4+j].r = FTOCHAR(col[2]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -485,9 +485,9 @@ static void add_tface_color_layer(DerivedMesh *dm)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for(j=0;j<4;j++) {
|
for(j=0;j<4;j++) {
|
||||||
finalCol[i*4+j].b = mcol[i*4+j].r;
|
finalCol[i*4+j].r = mcol[i*4+j].r;
|
||||||
finalCol[i*4+j].g = mcol[i*4+j].g;
|
finalCol[i*4+j].g = mcol[i*4+j].g;
|
||||||
finalCol[i*4+j].r = mcol[i*4+j].b;
|
finalCol[i*4+j].b = mcol[i*4+j].b;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user