- added set_framebuffer_index_color (shortcut for
cpack(index_to_framebuffer(index)) but that is all that is ever used.
This commit is contained in:
@@ -125,7 +125,7 @@ void getmouse(short *mval);
|
|||||||
void warp_pointer(int x, int y);
|
void warp_pointer(int x, int y);
|
||||||
|
|
||||||
int framebuffer_to_index(unsigned int col);
|
int framebuffer_to_index(unsigned int col);
|
||||||
unsigned int index_to_framebuffer(int index);
|
void set_framebuffer_index_color(int index);
|
||||||
|
|
||||||
int mywin_inmenu(void);
|
int mywin_inmenu(void);
|
||||||
void mywin_getmenu_rect(int *x, int *y, int *sx, int *sy);
|
void mywin_getmenu_rect(int *x, int *y, int *sx, int *sy);
|
||||||
|
|||||||
@@ -3656,7 +3656,7 @@ static int bbs_mesh_verts(Object *ob, int offset)
|
|||||||
bglBegin(GL_POINTS);
|
bglBegin(GL_POINTS);
|
||||||
for(eve= G.editMesh->verts.first; eve; eve= eve->next, a++) {
|
for(eve= G.editMesh->verts.first; eve; eve= eve->next, a++) {
|
||||||
if(eve->h==0) {
|
if(eve->h==0) {
|
||||||
cpack( index_to_framebuffer(a) );
|
set_framebuffer_index_color(a);
|
||||||
if(optimal && eve->ssco) bglVertex3fv(eve->ssco);
|
if(optimal && eve->ssco) bglVertex3fv(eve->ssco);
|
||||||
else bglVertex3fv(eve->co);
|
else bglVertex3fv(eve->co);
|
||||||
}
|
}
|
||||||
@@ -3691,9 +3691,7 @@ static int bbs_mesh_wire(Object *ob, int offset)
|
|||||||
if(medge->flag & ME_EDGEDRAW) {
|
if(medge->flag & ME_EDGEDRAW) {
|
||||||
eed= dlm->editedge[b];
|
eed= dlm->editedge[b];
|
||||||
if(eed && eed->h==0) {
|
if(eed && eed->h==0) {
|
||||||
|
set_framebuffer_index_color((int)eed->vn);
|
||||||
index= (int)eed->vn;
|
|
||||||
cpack(index_to_framebuffer(index));
|
|
||||||
|
|
||||||
glVertex3fv(mvert[medge->v1].co);
|
glVertex3fv(mvert[medge->v1].co);
|
||||||
glVertex3fv(mvert[medge->v2].co);
|
glVertex3fv(mvert[medge->v2].co);
|
||||||
@@ -3709,7 +3707,7 @@ static int bbs_mesh_wire(Object *ob, int offset)
|
|||||||
for(eed= G.editMesh->edges.first; eed; eed= eed->next, index++) {
|
for(eed= G.editMesh->edges.first; eed; eed= eed->next, index++) {
|
||||||
if(eed->h==0) {
|
if(eed->h==0) {
|
||||||
|
|
||||||
cpack(index_to_framebuffer(index));
|
set_framebuffer_index_color(index);
|
||||||
|
|
||||||
glVertex3fv(eed->v1->co);
|
glVertex3fv(eed->v1->co);
|
||||||
glVertex3fv(eed->v2->co);
|
glVertex3fv(eed->v2->co);
|
||||||
@@ -3751,7 +3749,7 @@ static int bbs_mesh_solid(Object *ob, int facecol)
|
|||||||
if(mface->v3) {
|
if(mface->v3) {
|
||||||
if(facecol) {
|
if(facecol) {
|
||||||
efa= dlm->editface[b];
|
efa= dlm->editface[b];
|
||||||
cpack(index_to_framebuffer((int)efa->prev));
|
set_framebuffer_index_color((int)efa->prev);
|
||||||
}
|
}
|
||||||
|
|
||||||
glBegin(mface->v4?GL_QUADS:GL_TRIANGLES);
|
glBegin(mface->v4?GL_QUADS:GL_TRIANGLES);
|
||||||
@@ -3771,7 +3769,7 @@ static int bbs_mesh_solid(Object *ob, int facecol)
|
|||||||
if(efa->h==0) {
|
if(efa->h==0) {
|
||||||
if(efa->fgonf==EM_FGON);
|
if(efa->fgonf==EM_FGON);
|
||||||
else {
|
else {
|
||||||
cpack(index_to_framebuffer((int)efa->prev));
|
set_framebuffer_index_color((int)efa->prev);
|
||||||
bglVertex3fv(efa->cent);
|
bglVertex3fv(efa->cent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3793,8 +3791,7 @@ static int bbs_mesh_solid(Object *ob, int facecol)
|
|||||||
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) {
|
if(facecol) {
|
||||||
int i= index_to_framebuffer(a);
|
set_framebuffer_index_color(a);
|
||||||
cpack(i);
|
|
||||||
}
|
}
|
||||||
glVertex3fv(efa->v1->co);
|
glVertex3fv(efa->v1->co);
|
||||||
glVertex3fv(efa->v2->co);
|
glVertex3fv(efa->v2->co);
|
||||||
@@ -3831,8 +3828,7 @@ static int bbs_mesh_solid(Object *ob, int facecol)
|
|||||||
if(mface->v3) {
|
if(mface->v3) {
|
||||||
if(facecol) {
|
if(facecol) {
|
||||||
if(hastface && tface->flag & TF_HIDE) continue;
|
if(hastface && tface->flag & TF_HIDE) continue;
|
||||||
i= index_to_framebuffer(a+1);
|
set_framebuffer_index_color(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);}}
|
||||||
|
|||||||
@@ -490,7 +490,7 @@ void mywindow(float x1, float x2, float y1, float y2, float n, float f)
|
|||||||
|
|
||||||
/* apple seems to round colors to below and up on some configs */
|
/* apple seems to round colors to below and up on some configs */
|
||||||
|
|
||||||
unsigned int index_to_framebuffer(int index)
|
static unsigned int index_to_framebuffer(int index)
|
||||||
{
|
{
|
||||||
unsigned int i= index;
|
unsigned int i= index;
|
||||||
|
|
||||||
@@ -520,7 +520,7 @@ unsigned int index_to_framebuffer(int index)
|
|||||||
|
|
||||||
/* this is the old method as being in use for ages.... seems to work? colors are rounded to lower values */
|
/* this is the old method as being in use for ages.... seems to work? colors are rounded to lower values */
|
||||||
|
|
||||||
unsigned int index_to_framebuffer(int index)
|
static unsigned int index_to_framebuffer(int index)
|
||||||
{
|
{
|
||||||
unsigned int i= index;
|
unsigned int i= index;
|
||||||
|
|
||||||
@@ -552,6 +552,11 @@ unsigned int index_to_framebuffer(int index)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void set_framebuffer_index_color(int index)
|
||||||
|
{
|
||||||
|
cpack(index_to_framebuffer(index));
|
||||||
|
}
|
||||||
|
|
||||||
int framebuffer_to_index(unsigned int col)
|
int framebuffer_to_index(unsigned int col)
|
||||||
{
|
{
|
||||||
if (col==0) return 0;
|
if (col==0) return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user