Commit: 7fc632a8564000731779bb66c7ddd6066b6511cd
Author: Clément Foucault
Date:   Tue Feb 14 00:34:52 2017 +0100
Branches: blender2.8
https://developer.blender.org/rB7fc632a8564000731779bb66c7ddd6066b6511cd

OpenGL immediate mode: drawarmature.c (end)

No deprecated call left.

===================================================================

M       source/blender/editors/space_view3d/drawarmature.c
M       source/blender/editors/space_view3d/drawobject.c
M       source/blender/editors/space_view3d/view3d_intern.h

===================================================================

diff --git a/source/blender/editors/space_view3d/drawarmature.c 
b/source/blender/editors/space_view3d/drawarmature.c
index 1de862b72e..c14a4f980a 100644
--- a/source/blender/editors/space_view3d/drawarmature.c
+++ b/source/blender/editors/space_view3d/drawarmature.c
@@ -153,7 +153,6 @@ static void cp_shade_color3ub(unsigned char cp[3], const 
int offset)
 /* This function sets the gl-color for coloring a certain bone (based on 
bcolor) */
 static bool set_pchan_glColor(short colCode, int boneflag, short constflag)
 {
-       /* TODO remove glColor/UI_ThemeColor functions when no longer needed */
        switch (colCode) {
                case PCHAN_COLOR_NORMAL:
                {
@@ -175,24 +174,19 @@ static bool set_pchan_glColor(short colCode, int 
boneflag, short constflag)
                                        cp_shade_color3ub(cp, -50);
                                }
                        
-                               glColor3ubv(cp);
                                rgb_uchar_to_float(fcolor, cp);
                        }
                        else {
                                if ((boneflag & BONE_DRAW_ACTIVE) && (boneflag 
& BONE_SELECTED)) {
-                                       UI_ThemeColor(TH_BONE_POSE_ACTIVE);
                                        
UI_GetThemeColor4fv(TH_BONE_POSE_ACTIVE, fcolor);
                                }
                                else if (boneflag & BONE_DRAW_ACTIVE) {
-                                       UI_ThemeColorBlend(TH_WIRE, 
TH_BONE_POSE, 0.15f); /* unselected active */
                                        UI_GetThemeColorBlendShade4fv(TH_WIRE, 
TH_BONE_POSE, 0.15f, 0, fcolor);
                                }
                                else if (boneflag & BONE_SELECTED) {
-                                       UI_ThemeColor(TH_BONE_POSE);
                                        UI_GetThemeColor4fv(TH_BONE_POSE, 
fcolor);
                                }
                                else {
-                                       UI_ThemeColor(TH_WIRE);
                                        UI_GetThemeColor4fv(TH_WIRE, fcolor);
                                }
                        }
@@ -202,11 +196,9 @@ static bool set_pchan_glColor(short colCode, int boneflag, 
short constflag)
                case PCHAN_COLOR_SOLID:
                {
                        if (bcolor) {
-                               glColor3ubv((unsigned char *)bcolor->solid);
                                rgb_uchar_to_float(fcolor, (unsigned char 
*)bcolor->solid);
                        }
                        else {
-                               UI_ThemeColor(TH_BONE_SOLID);
                                UI_GetThemeColor4fv(TH_BONE_SOLID, fcolor);
                        }
                        
@@ -221,7 +213,6 @@ static bool set_pchan_glColor(short colCode, int boneflag, 
short constflag)
                                else if (constflag & PCHAN_HAS_SPLINEIK) 
rgba_char_args_set((char *)cp, 200, 255, 0, 80);
                                else if (constflag & PCHAN_HAS_CONST) 
rgba_char_args_set((char *)cp, 0, 255, 120, 80);
 
-                               glColor4ubv(cp);
                                rgba_uchar_to_float(fcolor, cp);
 
                                return true;
@@ -243,20 +234,16 @@ static bool set_pchan_glColor(short colCode, int 
boneflag, short constflag)
                                        copy_v3_v3_char((char *)cp, 
bcolor->solid);
                                }
 
-                               glColor3ubv(cp);
                                rgb_uchar_to_float(fcolor, cp);
                        }
                        else {
                                if (boneflag & BONE_DRAW_ACTIVE) {
-                                       UI_ThemeColorShade(TH_BONE_POSE, 40);
                                        UI_GetThemeColorShade4fv(TH_BONE_POSE, 
40, fcolor);
                                }
                                else if (boneflag & BONE_SELECTED) {
-                                       UI_ThemeColor(TH_BONE_POSE);
                                        UI_GetThemeColor4fv(TH_BONE_POSE, 
fcolor);
                                }
                                else {
-                                       UI_ThemeColor(TH_BONE_SOLID);
                                        UI_GetThemeColor4fv(TH_BONE_SOLID, 
fcolor);
                                }
                        }
@@ -281,20 +268,16 @@ static bool set_pchan_glColor(short colCode, int 
boneflag, short constflag)
                                        cp_shade_color3ub(cp, -30);
                                }
                        
-                               glColor3ubv(cp);
                                rgb_uchar_to_float(fcolor, cp);
                        }
                        else {
                                if (boneflag & BONE_DRAW_ACTIVE) {
-                                       UI_ThemeColorShade(TH_BONE_POSE, 10);
                                        UI_GetThemeColorShade4fv(TH_BONE_POSE, 
10, fcolor);
                                }
                                else if (boneflag & BONE_SELECTED) {
-                                       UI_ThemeColorShade(TH_BONE_POSE, -30);
                                        UI_GetThemeColorShade4fv(TH_BONE_POSE, 
-30, fcolor);
                                }
                                else {
-                                       UI_ThemeColorShade(TH_BONE_SOLID, -30);
                                        UI_GetThemeColorShade4fv(TH_BONE_SOLID, 
-30, fcolor);
                                }
                        }
@@ -311,18 +294,15 @@ static bool set_pchan_glColor(short colCode, int 
boneflag, short constflag)
                                else if (constflag & PCHAN_HAS_CONST) 
rgba_char_args_set((char *)cp, 0, 255, 120, 255);
                                else if (constflag) 
UI_GetThemeColor4ubv(TH_BONE_POSE, cp);  /* PCHAN_HAS_ACTION */
 
-                               glColor4ubv(cp);
                                rgb_uchar_to_float(fcolor, cp);
                        }
                        else {
                                if (bcolor) {
                                        const char *cp = bcolor->solid;
-                                       glColor4ub(cp[0], cp[1], cp[2], 204);
                                        rgb_uchar_to_float(fcolor, (unsigned 
char *)cp);
                                        fcolor[3] = 204.f / 255.f;
                                }
                                else {
-                                       UI_ThemeColorShade(TH_BACK, -30);
                                        UI_GetThemeColorShade4fv(TH_BACK, -30, 
fcolor);
                                }
                        }
@@ -336,21 +316,16 @@ static bool set_pchan_glColor(short colCode, int 
boneflag, short constflag)
 
 static void set_ebone_glColor(const unsigned int boneflag)
 {
-       /* TODO remove glColor/UI_ThemeColor functions when no longer needed */
        if ((boneflag & BONE_DRAW_ACTIVE) && (boneflag & BONE_SELECTED)) {
-               UI_ThemeColor(TH_EDGE_SELECT);
                UI_GetThemeColor4fv(TH_EDGE_SELECT, fcolor);
        }
        else if (boneflag & BONE_DRAW_ACTIVE) {
-               UI_ThemeColorBlend(TH_WIRE_EDIT, TH_EDGE_SELECT, 0.15f); /* 
unselected active */
                UI_GetThemeColorBlendShade4fv(TH_WIRE_EDIT, TH_EDGE_SELECT, 
0.15f, 0, fcolor);
        }
        else if (boneflag & BONE_SELECTED) {
-               UI_ThemeColorShade(TH_EDGE_SELECT, -20);
                UI_GetThemeColorShade4fv(TH_EDGE_SELECT, -20, fcolor);
        }
        else {
-               UI_ThemeColor(TH_WIRE_EDIT);
                UI_GetThemeColor4fv(TH_WIRE_EDIT, fcolor);
        }
 }
@@ -700,11 +675,9 @@ static void draw_bone_points(const short dt, int armflag, 
unsigned int boneflag,
                if (dt <= OB_WIRE) {
                        if (armflag & ARM_EDITMODE) {
                                if (boneflag & BONE_ROOTSEL) {
-                                       UI_ThemeColor(TH_VERTEX_SELECT);
                                        UI_GetThemeColor4fv(TH_VERTEX_SELECT, 
fcolor);
                                }
                                else {
-                                       UI_ThemeColor(TH_VERTEX);
                                        UI_GetThemeColor4fv(TH_VERTEX, fcolor);
                                }
                        }
@@ -713,7 +686,6 @@ static void draw_bone_points(const short dt, int armflag, 
unsigned int boneflag,
                        if (armflag & ARM_POSEMODE) 
                                set_pchan_glColor(PCHAN_COLOR_SOLID, boneflag, 
0);
                        else {
-                               UI_ThemeColor(TH_BONE_SOLID);
                                UI_GetThemeColor4fv(TH_BONE_SOLID, fcolor);
                        }
                }
@@ -731,11 +703,9 @@ static void draw_bone_points(const short dt, int armflag, 
unsigned int boneflag,
        if (dt <= OB_WIRE) {
                if (armflag & ARM_EDITMODE) {
                        if (boneflag & BONE_TIPSEL) {
-                               UI_ThemeColor(TH_VERTEX_SELECT);
                                UI_GetThemeColor4fv(TH_VERTEX_SELECT, fcolor);
                        }
                        else {
-                               UI_ThemeColor(TH_VERTEX);
                                UI_GetThemeColor4fv(TH_VERTEX, fcolor);
                        }
                }
@@ -744,7 +714,6 @@ static void draw_bone_points(const short dt, int armflag, 
unsigned int boneflag,
                if (armflag & ARM_POSEMODE) 
                        set_pchan_glColor(PCHAN_COLOR_SOLID, boneflag, 0);
                else {
-                       UI_ThemeColor(TH_BONE_SOLID);
                        UI_GetThemeColor4fv(TH_BONE_SOLID, fcolor);
                }
        }
@@ -944,11 +913,9 @@ static void draw_sphere_bone_wire(float smat[4][4], float 
imat[4][4],
        /* sphere root color */
        if (armflag & ARM_EDITMODE) {
                if (boneflag & BONE_ROOTSEL) {
-                       UI_ThemeColor(TH_VERTEX_SELECT);
                        UI_GetThemeColor4fv(TH_VERTEX_SELECT, fcolor);
                }
                else {
-                       UI_ThemeColor(TH_VERTEX);
                        UI_GetThemeColor4fv(TH_VERTEX, fcolor);
                }
        }
@@ -968,11 +935,9 @@ static void draw_sphere_bone_wire(float smat[4][4], float 
imat[4][4],
        /*      Draw tip point */
        if (armflag & ARM_EDITMODE) {
                if (boneflag & BONE_TIPSEL) {
-                       UI_ThemeColor(TH_VERTEX_SELECT);
                        UI_GetThemeColor4fv(TH_VERTEX_SELECT, fcolor);
                }
                else {
-                       UI_ThemeColor(TH_VERTEX);
                        UI_GetThemeColor4fv(TH_VERTEX, fcolor);
                }
        }
@@ -985,11 +950,9 @@ static void draw_sphere_bone_wire(float smat[4][4], float 
imat[4][4],
        /* base */
        if (armflag & ARM_EDITMODE) {
                if (boneflag & BONE_SELECTED){
-                       UI_ThemeColor(TH_SELECT);
                        UI_GetThemeColor4fv(TH_SELECT, fcolor);
                }
                else {
-                       UI_ThemeColor(TH_WIRE_EDIT);
                        UI_GetThemeColor4fv(TH_WIRE_EDIT, fcolor);
                }
        }
@@ -1188,19 +1151,9 @@ static void draw_sphere_bone(const short dt, int 
armflag, int boneflag, short co
        gpuMatrixEnd();
 }
 
-static GLubyte bm_dot6[] = {0x0, 0x18, 0x3C, 0x7E, 0x7E, 0x3C, 0x18, 0x0};
-static GLubyte bm_dot8[] = {0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C};
-
-static GLubyte bm_dot5[] = {0x0, 0x0, 0x10, 0x38, 0x7c, 0x38, 0x10, 0x0};
-static GLubyte bm_dot7[] = {0x0, 0x38, 0x7C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38};
-
-
 static void draw_line_bone(int armflag, int boneflag, short constflag, 
unsigned int id,
                            bPoseChannel *pchan, EditBone *ebone)
 {
-       /* call this once, avoid constant changing */
-       BLI_assert(glaGetOneInt(GL_UNPACK_ALIGNMENT) == 1);
-
        float length;
        
        if (pchan) 
@@ -1208,59 +1161,62 @@ static void draw_line_bone(int armflag, int boneflag, 
short constflag, unsigned
        else 
                length = ebone->length;
        
-       glPushMatrix();
-       glScalef(length, length, length);
+       VertexFormat *format = immVertexFormat();
+       unsigned int pos = add_attrib(format, "pos", GL_FLOAT, 3, KEEP_FLOAT);
+
+       gpuMatrixBegin3D_legacy();
+       gpuPushMatrix();
+       gpuScale3f(length, length, length);
        
        /* this chunk not in object mode */
        if (armflag & (ARM_EDITMODE | ARM_POSEMODE)) {
                glLineWidth(4.0f);
-               if (G.f & G_PICKSEL) {
-                       /* no bitmap in selection mode, crashes 3d cards...
-                        * instead draw a solid point the same size */
-                       glPointSize(8.0f);
-               }
+               glPointSize(8.0f);
 
                if (armflag & ARM_POSEMODE)
                        set_pchan_glColor(PCHAN_COLOR_NORMAL, boneflag, 
constflag);
                else if (armflag & ARM_EDITMODE) {
-                       UI_ThemeColor(TH_WIRE_EDIT);
+                       UI_GetThemeColor4fv(TH_WIRE_EDIT, fcolor);
                }
-               
+
+               /* line */
+               immBindBuiltinProgram(GPU_SHADER_3D_UNIFORM_COLOR);
+               immUniformColor4fv(fcolor);
+
+               if (id != -1)
+                       GPU_select_load_id(id | BONESEL_BONE);
+
+               immBegin(GL_LINES, 2);
+               immVertex3f(pos, 0.0f, 1.0f, 0.0f);
+               immVertex3f(pos, 0.0f, 0.0f, 0.0f);
+               immEnd();
+
+               immUnbindProgram();
+
+               
immBindBuiltinProgram(GPU_SHADER_3D_POINT_FIXED_SIZE_UNIFORM_COLOR);
+               immUniformColor4fv(fcolor);
+
                /*      Draw root point if we are not connected */
                if ((boneflag & BONE_CONNECTED) == 0) {
-                       if (G.f & G_PICKSEL) {
+                       if (G.f & G_PICKSEL)
                                GPU_select_load_id(id | BONESEL_ROOT);
-                               glBegin(GL_POINTS);
-                               glVertex3f(0.0f, 0.0f, 0.0f);
-                               glEnd();
-                       }
-                       else {
-                               glRasterPos3f(0.0f, 0.0f, 0.0f);
-                               glBitmap(8, 8, 4, 4, 0, 0, bm_dot8);
-                       }
+
+                       immBegin(GL_POINTS, 1);
+                       immVertex3f(pos, 0.0f, 0.0f, 0.0f);
+                       immEnd();
                }
-               
-               if (id != -1)
-                       GPU_select_load_id((GLuint) id | BONESEL_BONE);
-               
-               glBegin(GL_LINES);
-               glVertex3f(0.0f, 0.0f, 0.0f);
-               glVertex3f(0.0f, 1.0f, 0.0f);
-               glEnd();
-               
+
                /* tip */
-               if (G.f & G_PICKSEL) {
-                       /* no bitmap in se

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to