diff options
-rw-r--r-- | source/blender/editors/animation/anim_draw.c | 8 | ||||
-rw-r--r-- | source/blender/editors/animation/anim_markers.c | 7 | ||||
-rw-r--r-- | source/blender/editors/interface/interface.c | 12 | ||||
-rw-r--r-- | source/blender/editors/mask/mask_draw.c | 21 | ||||
-rw-r--r-- | source/blender/editors/render/render_opengl.c | 4 | ||||
-rw-r--r-- | source/blender/editors/screen/glutil.c | 15 | ||||
-rw-r--r-- | source/blender/editors/screen/screen_draw.c | 3 | ||||
-rw-r--r-- | source/blender/editors/space_clip/clip_utils.c | 7 | ||||
-rw-r--r-- | source/blender/editors/space_clip/space_clip.c | 14 | ||||
-rw-r--r-- | source/blender/editors/space_image/image_draw.c | 14 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/drawarmature.c | 82 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_constraints.c | 9 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_draw.c | 2 |
13 files changed, 100 insertions, 98 deletions
diff --git a/source/blender/editors/animation/anim_draw.c b/source/blender/editors/animation/anim_draw.c index 1d71ba8dc34..5d357e2f93e 100644 --- a/source/blender/editors/animation/anim_draw.c +++ b/source/blender/editors/animation/anim_draw.c @@ -58,13 +58,12 @@ #include "RNA_access.h" -#include "BIF_gl.h" - #include "UI_interface.h" #include "UI_resources.h" #include "UI_view2d.h" #include "GPU_immediate.h" +#include "GPU_matrix.h" /* *************************************************** */ /* CURRENT FRAME DRAWING */ @@ -81,8 +80,9 @@ static void draw_cfra_number(Scene *scene, View2D *v2d, const float cfra, const int slen; /* because the frame number text is subject to the same scaling as the contents of the view */ + gpuPushMatrix(); UI_view2d_scale_get(v2d, &xscale, &yscale); - glScalef(1.0f / xscale, 1.0f, 1.0f); + gpuScale2f(1.0f / xscale, 1.0f); /* get timecode string * - padding on str-buf passed so that it doesn't sit on the frame indicator @@ -115,7 +115,7 @@ static void draw_cfra_number(Scene *scene, View2D *v2d, const float cfra, const UI_fontstyle_draw_simple(fstyle, x - 0.25f * U.widget_unit, y + 0.15f * U.widget_unit, numstr, col); /* restore view transform */ - glScalef(xscale, 1.0, 1.0); + gpuPopMatrix(); } /* General call for drawing current frame indicator in animation editor */ diff --git a/source/blender/editors/animation/anim_markers.c b/source/blender/editors/animation/anim_markers.c index cc5957003b6..9d7d1535eb3 100644 --- a/source/blender/editors/animation/anim_markers.c +++ b/source/blender/editors/animation/anim_markers.c @@ -56,10 +56,10 @@ #include "WM_api.h" #include "WM_types.h" -#include "BIF_gl.h" #include "BIF_glutil.h" #include "GPU_immediate.h" +#include "GPU_matrix.h" #include "UI_interface.h" #include "UI_interface_icons.h" @@ -464,7 +464,8 @@ void ED_markers_draw(const bContext *C, int flag) /* no time correction for framelen! space is drawn with old values */ ypixels = BLI_rcti_size_y(&v2d->mask); UI_view2d_scale_get(v2d, &xscale, &yscale); - glScalef(1.0f / xscale, 1.0f, 1.0f); + gpuPushMatrix(); + gpuScale2f(1.0f / xscale, 1.0f); /* x-bounds with offset for text (adjust for long string, avoid checking string width) */ font_width_max = (10 * UI_DPI_FAC) / xscale; @@ -487,7 +488,7 @@ void ED_markers_draw(const bContext *C, int flag) } } - glScalef(xscale, 1.0f, 1.0f); + gpuPopMatrix(); } /* ************************ Marker Wrappers API ********************* */ diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 24601cc218a..cf19565b170 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -56,7 +56,7 @@ #include "BKE_screen.h" #include "BKE_idprop.h" -#include "BIF_gl.h" +#include "GPU_matrix.h" #include "BLF_api.h" #include "BLT_translation.h" @@ -1378,10 +1378,10 @@ void UI_block_draw(const bContext *C, uiBlock *block) /* pixel space for AA widgets */ glMatrixMode(GL_PROJECTION); - glPushMatrix(); + gpuPushMatrix(); glMatrixMode(GL_MODELVIEW); - glPushMatrix(); - glLoadIdentity(); + gpuPushMatrix(); + gpuLoadIdentity(); wmOrtho2_region_pixelspace(ar); @@ -1407,9 +1407,9 @@ void UI_block_draw(const bContext *C, uiBlock *block) /* restore matrix */ glMatrixMode(GL_PROJECTION); - glPopMatrix(); + gpuPopMatrix(); glMatrixMode(GL_MODELVIEW); - glPopMatrix(); + gpuPopMatrix(); if (multisample_enabled) glEnable(GL_MULTISAMPLE); diff --git a/source/blender/editors/mask/mask_draw.c b/source/blender/editors/mask/mask_draw.c index 7a30cefd9f8..eb3721a7ed3 100644 --- a/source/blender/editors/mask/mask_draw.c +++ b/source/blender/editors/mask/mask_draw.c @@ -55,6 +55,7 @@ #include "GPU_immediate.h" #include "GPU_draw.h" #include "GPU_shader.h" +#include "GPU_matrix.h" #include "UI_resources.h" #include "UI_view2d.h" @@ -762,17 +763,17 @@ void ED_mask_draw_region(Mask *mask, ARegion *ar, glBlendFunc(GL_DST_COLOR, GL_ZERO); } - glPushMatrix(); - glTranslatef(x, y, 0); - glScalef(zoomx, zoomy, 0); + gpuPushMatrix(); + gpuTranslate2f(x, y); + gpuScale2f(zoomx, zoomy); if (stabmat) { - glMultMatrixf((const float *) stabmat); + gpuMultMatrix3D(stabmat); /* XXX make this a 2D matrix */ } GPUShader *shader = immDrawPixelsTexSetup(GPU_SHADER_2D_IMAGE_SHUFFLE_COLOR); GPU_shader_uniform_vector(shader, GPU_shader_get_uniform(shader, "shuffle"), 4, 1, red); immDrawPixelsTex(0.0f, 0.0f, width, height, GL_RED, GL_FLOAT, GL_NEAREST, buffer, 1.0f, 1.0f, NULL); - glPopMatrix(); + gpuPopMatrix(); if (overlay_mode != MASK_OVERLAY_ALPHACHANNEL) { glDisable(GL_BLEND); @@ -782,14 +783,14 @@ void ED_mask_draw_region(Mask *mask, ARegion *ar, } /* apply transformation so mask editing tools will assume drawing from the origin in normalized space */ - glPushMatrix(); + gpuPushMatrix(); if (stabmat) { - glMultMatrixf((const float *) stabmat); + gpuMultMatrix3D(stabmat); /* XXX make this a 2D matrix */ } - glTranslatef(x + xofs, y + yofs, 0); - glScalef(maxdim * zoomx, maxdim * zoomy, 0); + gpuTranslate2f(x + xofs, y + yofs); + gpuScale2f(maxdim * zoomx, maxdim * zoomy); if (do_draw_cb) { ED_region_draw_cb_draw(C, ar, REGION_DRAW_PRE_VIEW); @@ -802,7 +803,7 @@ void ED_mask_draw_region(Mask *mask, ARegion *ar, ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW); } - glPopMatrix(); + gpuPopMatrix(); } void ED_mask_draw_frames(Mask *mask, ARegion *ar, const int cfra, const int sfra, const int efra) diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c index 1d870b89026..91bf0eeaa38 100644 --- a/source/blender/editors/render/render_opengl.c +++ b/source/blender/editors/render/render_opengl.c @@ -71,9 +71,9 @@ #include "RNA_access.h" #include "RNA_define.h" -#include "GPU_glew.h" #include "GPU_compositing.h" #include "GPU_framebuffer.h" +#include "GPU_matrix.h" #include "render_intern.h" @@ -335,7 +335,7 @@ static void screen_opengl_render_doit(OGLRender *oglrender, RenderResult *rr) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); wmOrtho2(0, sizex, 0, sizey); - glTranslatef(sizex / 2, sizey / 2, 0.0f); + gpuTranslate2f(sizex / 2, sizey / 2); G.f |= G_RENDER_OGL; ED_gpencil_draw_ex(scene, gpd, sizex, sizey, scene->r.cfra, SPACE_SEQ); diff --git a/source/blender/editors/screen/glutil.c b/source/blender/editors/screen/glutil.c index f1ad04c0982..fd0e1febdd8 100644 --- a/source/blender/editors/screen/glutil.c +++ b/source/blender/editors/screen/glutil.c @@ -50,6 +50,7 @@ #include "GPU_basic_shader.h" #include "GPU_immediate.h" +#include "GPU_matrix.h" #include "UI_interface.h" @@ -568,12 +569,12 @@ void glaDefine2DArea(rcti *screen_rect) */ glMatrixMode(GL_PROJECTION); - glLoadIdentity(); + gpuLoadIdentity(); glOrtho(0.0, sc_w, 0.0, sc_h, -1, 1); - glTranslatef(GLA_PIXEL_OFS, GLA_PIXEL_OFS, 0.0); + gpuTranslate2f(GLA_PIXEL_OFS, GLA_PIXEL_OFS); glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); + gpuLoadIdentity(); } /* TODO(merwin): put the following 2D code to use, or build new 2D code inspired & informd by it */ @@ -684,9 +685,9 @@ void glaEnd2DDraw(gla2DDrawInfo *di) glViewport(di->orig_vp[0], di->orig_vp[1], di->orig_vp[2], di->orig_vp[3]); glScissor(di->orig_vp[0], di->orig_vp[1], di->orig_vp[2], di->orig_vp[3]); glMatrixMode(GL_PROJECTION); - glLoadMatrixf(di->orig_projmat); + gpuLoadMatrix3D(di->orig_projmat); glMatrixMode(GL_MODELVIEW); - glLoadMatrixf(di->orig_viewmat); + gpuLoadMatrix3D(di->orig_viewmat); MEM_freeN(di); } @@ -743,14 +744,14 @@ void bglPolygonOffset(float viewdist, float dist) winmat[14] -= offs; offset += offs; - glLoadMatrixf(winmat); + gpuLoadMatrix3D(winmat); glMatrixMode(GL_MODELVIEW); } else { glMatrixMode(GL_PROJECTION); winmat[14] += offset; offset = 0.0; - glLoadMatrixf(winmat); + gpuLoadMatrix3D(winmat); glMatrixMode(GL_MODELVIEW); } } diff --git a/source/blender/editors/screen/screen_draw.c b/source/blender/editors/screen/screen_draw.c index 7d85f9bb1c4..22c6f070ac9 100644 --- a/source/blender/editors/screen/screen_draw.c +++ b/source/blender/editors/screen/screen_draw.c @@ -26,6 +26,7 @@ #include "GPU_framebuffer.h" #include "GPU_immediate.h" +#include "GPU_matrix.h" #include "WM_api.h" #include "WM_types.h" @@ -463,7 +464,7 @@ static void screen_preview_draw(const bScreen *screen, int size_x, int size_y) wmOrtho2(0.0f, size_x, 0.0f, size_y); /* center */ - glTranslatef(size_x * (1.0f - asp[0]) * 0.5f, size_y * (1.0f - asp[1]) * 0.5f, 0.0f); + gpuTranslate2f(size_x * (1.0f - asp[0]) * 0.5f, size_y * (1.0f - asp[1]) * 0.5f); screen_preview_scale_get(screen, size_x, size_y, asp, scale); screen_preview_draw_areas(screen, scale, col, 1.5f); diff --git a/source/blender/editors/space_clip/clip_utils.c b/source/blender/editors/space_clip/clip_utils.c index 560cf1f905a..1cddacc0fc6 100644 --- a/source/blender/editors/space_clip/clip_utils.c +++ b/source/blender/editors/space_clip/clip_utils.c @@ -44,6 +44,7 @@ #include "BKE_depsgraph.h" #include "GPU_immediate.h" +#include "GPU_matrix.h" #include "WM_api.h" #include "WM_types.h" @@ -263,13 +264,13 @@ void clip_draw_cfra(SpaceClip *sc, ARegion *ar, Scene *scene) /* because the frame number text is subject to the same scaling as the contents of the view */ float xscale, yscale; UI_view2d_scale_get(v2d, &xscale, &yscale); - glPushMatrix(); - glScalef(1.0f / xscale, 1.0f, 1.0f); + gpuPushMatrix(); + gpuScale2f(1.0f / xscale, 1.0f); ED_region_cache_draw_curfra_label(sc->user.framenr, (float)sc->user.framenr * xscale, 18); /* restore view transform */ - glPopMatrix(); + gpuPopMatrix(); } void clip_draw_sfra_efra(View2D *v2d, Scene *scene) diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c index 05e69968e35..9f35fff5e78 100644 --- a/source/blender/editors/space_clip/space_clip.c +++ b/source/blender/editors/space_clip/space_clip.c @@ -60,7 +60,7 @@ #include "IMB_imbuf.h" -#include "BIF_gl.h" +#include "GPU_matrix.h" #include "WM_api.h" #include "WM_types.h" @@ -1213,13 +1213,13 @@ static void clip_main_region_draw(const bContext *C, ARegion *ar) show_cursor |= sc->around == V3D_AROUND_CURSOR; if (show_cursor) { - glPushMatrix(); - glTranslatef(x, y, 0); - glScalef(zoomx, zoomy, 0); - glMultMatrixf(sc->stabmat); - glScalef(width, height, 0); + gpuPushMatrix(); + gpuTranslate2f(x, y); + gpuScale2f(zoomx, zoomy); + gpuMultMatrix3D(sc->stabmat); /* XXX make this a 2D matrix */ + gpuScale2f(width, height); ED_image_draw_cursor(ar, sc->cursor); - glPopMatrix(); + gpuPopMatrix(); } clip_draw_cache_and_notes(C, sc, ar); diff --git a/source/blender/editors/space_image/image_draw.c b/source/blender/editors/space_image/image_draw.c index da1f2ad9741..940d6f07018 100644 --- a/source/blender/editors/space_image/image_draw.c +++ b/source/blender/editors/space_image/image_draw.c @@ -63,6 +63,7 @@ #include "BIF_glutil.h" #include "GPU_immediate.h" +#include "GPU_matrix.h" #include "BLF_api.h" @@ -114,15 +115,14 @@ static void draw_render_info(const bContext *C, int x, y; UI_view2d_view_to_region(&ar->v2d, 0.0f, 0.0f, &x, &y); - glPushMatrix(); - glTranslatef(x, y, 0.0f); - glScalef(zoomx, zoomy, 1.0f); + gpuPushMatrix(); + gpuTranslate2f(x, y); + gpuScale2f(zoomx, zoomy); if (rd->mode & R_BORDER) { /* TODO: round or floor instead of casting to int */ - glTranslatef((int)(-rd->border.xmin * rd->xsch * rd->size * 0.01f), - (int)(-rd->border.ymin * rd->ysch * rd->size * 0.01f), - 0.0f); + gpuTranslate2f((int)(-rd->border.xmin * rd->xsch * rd->size * 0.01f), + (int)(-rd->border.ymin * rd->ysch * rd->size * 0.01f)); } unsigned int pos = add_attrib(immVertexFormat(), "pos", COMP_F32, 2, KEEP_FLOAT); @@ -142,7 +142,7 @@ static void draw_render_info(const bContext *C, MEM_freeN(tiles); } - glPopMatrix(); + gpuPopMatrix(); } } } diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c index b0e82877241..48bc388228d 100644 --- a/source/blender/editors/space_view3d/drawarmature.c +++ b/source/blender/editors/space_view3d/drawarmature.c @@ -55,8 +55,6 @@ #include "BKE_nla.h" #include "BKE_curve.h" - -#include "BIF_gl.h" #include "BIF_glutil.h" #include "ED_armature.h" @@ -405,7 +403,7 @@ static void drawsolidcube_size(float xsize, float ysize, float zsize) Batch_init(&batch, GL_TRIANGLES, &vbo, NULL); } - gpuMatrixBegin3D_legacy(); + gpuMatrixBegin3D_legacy(); /* TODO: replace Begin/End with Push/Pop */ gpuScale3f(xsize, ysize, zsize); if (flat_color) { @@ -452,7 +450,7 @@ static void drawcube_size(float xsize, float ysize, float zsize) Batch_set_builtin_program(&batch, GPU_SHADER_3D_UNIFORM_COLOR); } - gpuMatrixBegin3D_legacy(); + gpuMatrixBegin3D_legacy(); /* TODO: replace Begin/End with Push/Pop */ gpuScale3f(xsize, ysize, zsize); Batch_use_program(&batch); @@ -718,13 +716,13 @@ static void draw_bone_points(const short dt, int armflag, unsigned int boneflag, } } - glTranslatef(0.0f, 1.0f, 0.0f); + gpuPushMatrix(); + gpuTranslate2f(0.0f, 1.0f); if (dt > OB_WIRE) draw_bonevert_solid(); else draw_bonevert(); - glTranslatef(0.0f, -1.0f, 0.0f); - + gpuPopMatrix(); } /* 16 values of sin function (still same result!) */ @@ -1374,18 +1372,16 @@ static void draw_b_bone_boxes(const short dt, bPoseChannel *pchan, EditBone *ebo } for (a = 0; a < segments; a++) { - glPushMatrix(); - glMultMatrixf(bbone[a].mat); + gpuPushMatrix(); + gpuMultMatrix3D(bbone[a].mat); if (dt == OB_SOLID) drawsolidcube_size(xwidth, dlen, zwidth); else drawcube_size(xwidth, dlen, zwidth); - glPopMatrix(); + gpuPopMatrix(); } } else { - glPushMatrix(); if (dt == OB_SOLID) drawsolidcube_size(xwidth, length, zwidth); else drawcube_size(xwidth, length, zwidth); - glPopMatrix(); } } @@ -1408,10 +1404,10 @@ static void draw_b_bone(const short dt, int armflag, int boneflag, short constfl /* draw points only if... */ if (armflag & ARM_EDITMODE) { /* move to unitspace */ - glPushMatrix(); - glScalef(length, length, length); + gpuPushMatrix(); + gpuScaleUniform(length); draw_bone_points(dt, armflag, boneflag, id); - glPopMatrix(); + gpuPopMatrix(); length *= 0.95f; /* make vertices visible */ } @@ -1535,11 +1531,11 @@ static void draw_wire_bone(const short dt, int armflag, int boneflag, short cons /* draw points only if... */ if (armflag & ARM_EDITMODE) { /* move to unitspace */ - glPushMatrix(); - glScalef(length, length, length); + gpuPushMatrix(); + gpuScaleUniform(length); flat_color = true; draw_bone_points(dt, armflag, boneflag, id); - glPopMatrix(); + gpuPopMatrix(); length *= 0.95f; /* make vertices visible */ } @@ -1571,7 +1567,7 @@ static void draw_bone(const short dt, int armflag, int boneflag, short constflag { /* Draw a 3d octahedral bone, we use normalized space based on length */ - glScalef(length, length, length); + gpuScaleUniform(length); /* set up solid drawing */ if (dt > OB_WIRE) { @@ -1636,7 +1632,7 @@ static void draw_custom_bone(Scene *scene, SceneLayer *sl, View3D *v3d, RegionVi { if (ob == NULL) return; - glScalef(length, length, length); + gpuScaleUniform(length); /* colors for posemode */ if (armflag & ARM_POSEMODE) { @@ -2030,13 +2026,13 @@ static void draw_pose_bones(Scene *scene, SceneLayer *sl, View3D *v3d, ARegion * { if (bone->layer & arm->layer) { const bool use_custom = (pchan->custom) && !(arm->flag & ARM_NO_CUSTOM); - glPushMatrix(); + gpuPushMatrix(); if (use_custom && pchan->custom_tx) { - glMultMatrixf(pchan->custom_tx->pose_mat); + gpuMultMatrix3D(pchan->custom_tx->pose_mat); } else { - glMultMatrixf(pchan->pose_mat); + gpuMultMatrix3D(pchan->pose_mat); } /* catch exception for bone with hidden parent */ @@ -2098,7 +2094,7 @@ static void draw_pose_bones(Scene *scene, SceneLayer *sl, View3D *v3d, ARegion * } } - glPopMatrix(); + gpuPopMatrix(); } } @@ -2134,13 +2130,13 @@ static void draw_pose_bones(Scene *scene, SceneLayer *sl, View3D *v3d, ARegion * if (bone->layer & arm->layer) { if (pchan->custom) { if ((dt < OB_SOLID) || (bone->flag & BONE_DRAWWIRE)) { - glPushMatrix(); + gpuPushMatrix(); if (pchan->custom_tx) { - glMultMatrixf(pchan->custom_tx->pose_mat); + gpuMultMatrix3D(pchan->custom_tx->pose_mat); } else { - glMultMatrixf(pchan->pose_mat); + gpuMultMatrix3D(pchan->pose_mat); } /* prepare colors */ @@ -2165,7 +2161,7 @@ static void draw_pose_bones(Scene *scene, SceneLayer *sl, View3D *v3d, ARegion * draw_custom_bone(scene, sl, v3d, rv3d, pchan->custom, OB_WIRE, arm->flag, flag, index, PCHAN_CUSTOM_DRAW_SIZE(pchan)); - glPopMatrix(); + gpuPopMatrix(); } } } @@ -2269,9 +2265,9 @@ static void draw_pose_bones(Scene *scene, SceneLayer *sl, View3D *v3d, ARegion * } } - glPushMatrix(); + gpuPushMatrix(); if (arm->drawtype != ARM_ENVELOPE) - glMultMatrixf(pchan->pose_mat); + gpuMultMatrix3D(pchan->pose_mat); /* catch exception for bone with hidden parent */ flag = bone->flag; @@ -2308,7 +2304,7 @@ static void draw_pose_bones(Scene *scene, SceneLayer *sl, View3D *v3d, ARegion * else draw_bone(OB_WIRE, arm->flag, flag, constflag, index, bone->length); - glPopMatrix(); + gpuPopMatrix(); } } @@ -2369,16 +2365,16 @@ static void draw_pose_bones(Scene *scene, SceneLayer *sl, View3D *v3d, ARegion * /* Draw additional axes on the bone tail */ if ((arm->flag & ARM_DRAWAXES) && (arm->flag & ARM_POSEMODE)) { - glPushMatrix(); + gpuPushMatrix(); copy_m4_m4(bmat, pchan->pose_mat); bone_matrix_translate_y(bmat, pchan->bone->length); - glMultMatrixf(bmat); + gpuMultMatrix3D(bmat); float viewmat_pchan[4][4]; mul_m4_m4m4(viewmat_pchan, rv3d->viewmatob, bmat); drawaxes(viewmat_pchan, pchan->bone->length * 0.25f, OB_ARROWS, col); - glPopMatrix(); + gpuPopMatrix(); } } } @@ -2444,9 +2440,9 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, const short dt) for (eBone = arm->edbo->first, index = 0; eBone; eBone = eBone->next, index++) { if (eBone->layer & arm->layer) { if ((eBone->flag & BONE_HIDDEN_A) == 0) { - glPushMatrix(); + gpuPushMatrix(); get_matrix_editbone(eBone, bmat); - glMultMatrixf(bmat); + gpuMultMatrix3D(bmat); /* catch exception for bone with hidden parent */ flag = eBone->flag; @@ -2468,7 +2464,7 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, const short dt) draw_bone(OB_SOLID, arm->flag, flag, 0, index, eBone->length); } - glPopMatrix(); + gpuPopMatrix(); } } } @@ -2506,9 +2502,9 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, const short dt) draw_sphere_bone_wire(smat, imat, arm->flag, flag, 0, index, NULL, eBone); } else { - glPushMatrix(); + gpuPushMatrix(); get_matrix_editbone(eBone, bmat); - glMultMatrixf(bmat); + gpuMultMatrix3D(bmat); if (arm->drawtype == ARM_LINE) draw_line_bone(arm->flag, flag, 0, index, NULL, eBone); @@ -2519,7 +2515,7 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, const short dt) else draw_bone(OB_WIRE, arm->flag, flag, 0, index, eBone->length); - glPopMatrix(); + gpuPopMatrix(); } /* offset to parent */ @@ -2582,16 +2578,16 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, const short dt) } /* Draw additional axes */ if (arm->flag & ARM_DRAWAXES) { - glPushMatrix(); + gpuPushMatrix(); get_matrix_editbone(eBone, bmat); bone_matrix_translate_y(bmat, eBone->length); - glMultMatrixf(bmat); + gpuMultMatrix3D(bmat); float viewmat_ebone[4][4]; mul_m4_m4m4(viewmat_ebone, rv3d->viewmatob, bmat); drawaxes(viewmat_ebone, eBone->length * 0.25f, OB_ARROWS, col); - glPopMatrix(); + gpuPopMatrix(); } } diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c index 60689be5500..e934bacd0c7 100644 --- a/source/blender/editors/transform/transform_constraints.c +++ b/source/blender/editors/transform/transform_constraints.c @@ -43,6 +43,7 @@ #include "BIF_glutil.h" #include "GPU_immediate.h" +#include "GPU_matrix.h" #include "BLI_math.h" #include "BLI_utildefines.h" @@ -778,13 +779,13 @@ void drawPropCircle(const struct bContext *C, TransInfo *t) unit_m4(imat); } - glPushMatrix(); + gpuPushMatrix(); if (t->spacetype == SPACE_VIEW3D) { /* pass */ } else if (t->spacetype == SPACE_IMAGE) { - glScalef(1.0f / t->aspect[0], 1.0f / t->aspect[1], 1.0f); + gpuScale2f(1.0f / t->aspect[0], 1.0f / t->aspect[1]); } else if (ELEM(t->spacetype, SPACE_IPO, SPACE_ACTION)) { /* only scale y */ @@ -794,7 +795,7 @@ void drawPropCircle(const struct bContext *C, TransInfo *t) float ysize = BLI_rctf_size_y(datamask); float xmask = BLI_rcti_size_x(mask); float ymask = BLI_rcti_size_y(mask); - glScalef(1.0f, (ysize / xsize) * (xmask / ymask), 1.0f); + gpuScale2f(1.0f, (ysize / xsize) * (xmask / ymask)); } depth_test_enabled = glIsEnabled(GL_DEPTH_TEST); @@ -815,7 +816,7 @@ void drawPropCircle(const struct bContext *C, TransInfo *t) if (depth_test_enabled) glEnable(GL_DEPTH_TEST); - glPopMatrix(); + gpuPopMatrix(); } } diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index d02759160e2..9e9cd4df9c2 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -138,7 +138,7 @@ void GPU_render_text( else if (!col) glColor3f(1.0f, 1.0f, 1.0f); - glPushMatrix(); + gpuPushMatrix(); /* get the tab width */ ImBuf *first_ibuf = BKE_image_get_first_ibuf(ima); |