[Bf-blender-cvs] [938613f720] blender2.8: OpenGL: convert to new matrix API (part 1 of x)
Mike Erwin
noreply at git.blender.org
Tue Mar 21 06:42:48 CET 2017
Commit: 938613f720f0cd31cb9f4b2dfce0a1a90b10b964
Author: Mike Erwin
Date: Tue Mar 21 00:09:40 2017 -0400
Branches: blender2.8
https://developer.blender.org/rB938613f720f0cd31cb9f4b2dfce0a1a90b10b964
OpenGL: convert to new matrix API (part 1 of x)
Part of T49450
For this batch I focused on usage of (now-obsolete) macros in BIF_gl.h
===================================================================
M source/blender/editors/interface/interface_widgets.c
M source/blender/editors/sculpt_paint/paint_cursor.c
M source/blender/editors/space_clip/clip_draw.c
M source/blender/editors/space_view3d/drawobject.c
M source/blender/editors/uvedit/uvedit_draw.c
===================================================================
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 36265e363b..475541f411 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -47,7 +47,6 @@
#include "RNA_access.h"
-#include "BIF_gl.h"
#include "BIF_glutil.h"
#include "BLF_api.h"
@@ -234,9 +233,9 @@ void ui_draw_anti_roundbox(int mode, float minx, float miny, float maxx, float m
draw_color[3] *= 0.125f;
for (j = 0; j < WIDGET_AA_JITTER; j++) {
- glTranslate2fv(jit[j]);
+ gpuTranslate2fv(jit[j]);
UI_draw_roundbox_gl_mode(mode, minx, miny, maxx, maxy, rad, draw_color);
- glTranslatef(-jit[j][0], -jit[j][1], 0.0f);
+ gpuTranslate2f(-jit[j][0], -jit[j][1]);
}
glDisable(GL_BLEND);
diff --git a/source/blender/editors/sculpt_paint/paint_cursor.c b/source/blender/editors/sculpt_paint/paint_cursor.c
index ba1b334b6e..5d4c99e6cb 100644
--- a/source/blender/editors/sculpt_paint/paint_cursor.c
+++ b/source/blender/editors/sculpt_paint/paint_cursor.c
@@ -53,7 +53,6 @@
#include "WM_api.h"
-#include "BIF_gl.h"
#include "BIF_glutil.h"
#include "IMB_imbuf_types.h"
@@ -61,6 +60,7 @@
#include "ED_view3d.h"
#include "GPU_immediate.h"
+#include "GPU_matrix.h"
#include "GPU_basic_shader.h"
#include "UI_resources.h"
@@ -606,21 +606,20 @@ static void paint_draw_tex_overlay(UnifiedPaintSettings *ups, Brush *brush,
glDepthFunc(GL_ALWAYS);
glMatrixMode(GL_TEXTURE);
- glPushMatrix();
- glLoadIdentity();
+ gpuPushMatrix();
+ gpuLoadIdentity();
if (mtex->brush_map_mode == MTEX_MAP_MODE_VIEW) {
/* brush rotation */
- glTranslatef(0.5, 0.5, 0);
- glRotatef((double)RAD2DEGF((primary) ? ups->brush_rotation : ups->brush_rotation_sec),
- 0.0, 0.0, 1.0);
- glTranslatef(-0.5f, -0.5f, 0);
+ gpuTranslate2f(0.5, 0.5);
+ gpuRotate2D(RAD2DEGF(primary ? ups->brush_rotation : ups->brush_rotation_sec));
+ gpuTranslate2f(-0.5f, -0.5f);
/* scale based on tablet pressure */
if (primary && ups->stroke_active && BKE_brush_use_size_pressure(vc->scene, brush)) {
- glTranslatef(0.5f, 0.5f, 0);
- glScalef(1.0f / ups->size_pressure_value, 1.0f / ups->size_pressure_value, 1);
- glTranslatef(-0.5f, -0.5f, 0);
+ gpuTranslate2f(0.5f, 0.5f);
+ gpuScaleUniform(1.0f / ups->size_pressure_value);
+ gpuTranslate2f(-0.5f, -0.5f);
}
if (ups->draw_anchored) {
@@ -659,12 +658,12 @@ static void paint_draw_tex_overlay(UnifiedPaintSettings *ups, Brush *brush,
quad.ymax = brush->mask_stencil_dimension[1];
}
glMatrixMode(GL_MODELVIEW);
- glPushMatrix();
+ gpuPushMatrix();
if (primary)
- glTranslate2fv(brush->stencil_pos);
+ gpuTranslate2fv(brush->stencil_pos);
else
- glTranslate2fv(brush->mask_stencil_pos);
- glRotatef(RAD2DEGF(mtex->rot), 0, 0, 1);
+ gpuTranslate2fv(brush->mask_stencil_pos);
+ gpuRotate2D(RAD2DEGF(mtex->rot));
glMatrixMode(GL_TEXTURE);
}
@@ -688,11 +687,11 @@ static void paint_draw_tex_overlay(UnifiedPaintSettings *ups, Brush *brush,
glVertex2f(quad.xmin, quad.ymax);
glEnd();
- glPopMatrix();
+ gpuPopMatrix();
if (mtex->brush_map_mode == MTEX_MAP_MODE_STENCIL) {
glMatrixMode(GL_MODELVIEW);
- glPopMatrix();
+ gpuPopMatrix();
}
}
}
@@ -740,11 +739,11 @@ static void paint_draw_cursor_overlay(UnifiedPaintSettings *ups, Brush *brush,
/* scale based on tablet pressure */
if (ups->stroke_active && BKE_brush_use_size_pressure(vc->scene, brush)) {
do_pop = true;
- glPushMatrix();
- glLoadIdentity();
- glTranslate2fv(center);
- glScalef(ups->size_pressure_value, ups->size_pressure_value, 1);
- glTranslatef(-center[0], -center[1], 0);
+ gpuPushMatrix();
+ gpuLoadIdentity();
+ gpuTranslate2fv(center);
+ gpuScaleUniform(ups->size_pressure_value);
+ gpuTranslate2f(-center[0], -center[1]);
}
glColor4f(U.sculpt_paint_overlay_col[0],
@@ -765,7 +764,7 @@ static void paint_draw_cursor_overlay(UnifiedPaintSettings *ups, Brush *brush,
glEnd();
if (do_pop)
- glPopMatrix();
+ gpuPopMatrix();
}
}
diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c
index ec6eddf85a..4117a15594 100644
--- a/source/blender/editors/space_clip/clip_draw.c
+++ b/source/blender/editors/space_clip/clip_draw.c
@@ -55,7 +55,6 @@
#include "ED_mask.h"
#include "ED_gpencil.h"
-#include "BIF_gl.h"
#include "BIF_glutil.h"
#include "GPU_immediate.h"
@@ -353,11 +352,11 @@ static void draw_stabilization_border(SpaceClip *sc, ARegion *ar, int width, int
glEnable(GL_COLOR_LOGIC_OP);
glLogicOp(GL_NOR);
- glPushMatrix();
- glTranslatef(x, y, 0.0f);
+ gpuPushMatrix();
+ gpuTranslate2f(x, y);
- glScalef(zoomx, zoomy, 1.0f);
- glMultMatrixf(sc->stabmat);
+ gpuScale2f(zoomx, zoomy);
+ gpuMultMatrix3D(sc->stabmat); /* XXX can we make stabmat a 2D matrix? --merwin */
unsigned int pos = add_attrib(immVertexFormat(), "pos", GL_FLOAT, 2, KEEP_FLOAT);
@@ -368,7 +367,7 @@ static void draw_stabilization_border(SpaceClip *sc, ARegion *ar, int width, int
immUnbindProgram();
- glPopMatrix();
+ gpuPopMatrix();
glDisable(GL_COLOR_LOGIC_OP);
@@ -582,9 +581,9 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT
}
/* pattern and search outline */
- glPushMatrix();
- glTranslate2fv(marker_pos);
- gpuMatrixUpdate_legacy();
+ gpuPushMatrix();
+ gpuTranslate2fv(marker_pos);
+ gpuMatrixUpdate_legacy(); /* remove */
if (sc->flag & SC_SHOW_MARKER_PATTERN) {
immBegin(GL_LINE_LOOP, 4);
@@ -605,8 +604,8 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT
marker->search_max[1]);
}
- glPopMatrix();
- gpuMatrixUpdate_legacy();
+ gpuPopMatrix();
+ gpuMatrixUpdate_legacy(); /* remove */
}
static void track_colors(MovieTrackingTrack *track, int act, float col[3], float scol[3])
@@ -711,9 +710,9 @@ static void draw_marker_areas(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
}
/* pattern */
- glPushMatrix();
- glTranslate2fv(marker_pos);
- gpuMatrixUpdate_legacy();
+ gpuPushMatrix();
+ gpuTranslate2fv(marker_pos);
+ gpuMatrixUpdate_legacy(); /* remove */
if (tiny) {
setlinestyle(3);
@@ -769,8 +768,8 @@ static void draw_marker_areas(SpaceClip *sc, MovieTrackingTrack *track, MovieTra
setlinestyle(0);
}
- glPopMatrix();
- gpuMatrixUpdate_legacy();
+ gpuPopMatrix();
+ gpuMatrixUpdate_legacy(); /* remove */
}
static float get_shortest_pattern_side(MovieTrackingMarker *marker)
@@ -845,9 +844,9 @@ static void draw_marker_slide_zones(SpaceClip *sc, MovieTrackingTrack *track, Mo
immUniformThemeColor(TH_MARKER_OUTLINE);
}
- glPushMatrix();
- glTranslate2fv(marker_pos);
- gpuMatrixUpdate_legacy();
+ gpuPushMatrix();
+ gpuTranslate2fv(marker_pos);
+ gpuMatrixUpdate_legacy(); /* remove */
dx = 6.0f / width / sc->zoom;
dy = 6.0f / height / sc->zoom;
@@ -906,8 +905,8 @@ static void draw_marker_slide_zones(SpaceClip *sc, MovieTrackingTrack *track, Mo
draw_marker_slide_square(tilt_ctrl[0], tilt_ctrl[1], patdx, patdy, outline, px, pos);
}
- glPopMatrix();
- gpuMatrixUpdate_legacy();
+ gpuPopMatrix();
+ gpuMatrixUpdate_legacy(); /* remove */
}
static void draw_marker_texts(SpaceClip *sc, MovieTrackingTrack *track, MovieTrackingMarker *marker,
@@ -1085,7 +1084,7 @@ static void draw_plane_marker_image(Scene *scene,
plane_marker->corners,
perspective_matrix);
- homogeneous_2d_to_gl_matrix(perspective_matrix, gl_matrix);
+ homogeneous_2d_to_gl_matrix(perspective_matrix, gl_matrix); /* XXX update for new 2D matrix API --merwin */
if (plane_track->image_opacity != 1.0f || ibuf->planes == 32) {
transparent = true;
@@ -1103,8 +1102,8 @@ static void draw_plane_marker_image(Scene *scene,
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, ibuf->x, ibuf->y, 0, GL_RGBA,
GL_UNSIGNED_BYTE, display_buffer);
- glPushMatrix();
- glMultMatrixf(gl_matrix);
+ gpuPushMatrix();
+ gpuMultMatrix3D(gl_matrix); /* XXX update for new 2D matrix API --merwin */
VertexFormat *imm_format = immVertexFormat();
unsigned int pos = add_attrib(imm_format, "pos", GL_FLOAT, 2, KEEP_FLOAT);
@@ -1132,7 +1131,7 @@ static void draw_plane_marker_image(Scene *scene,
immUnbindProgram();
- glPopMatrix();
+ gpuPopMatrix();
glBindTexture(GL_TEXTURE_2D, 0);
@@ -1297,13 +1296,13 @@ static void draw_tracking_tracks(SpaceClip *sc, Scene *scene, ARegion *ar, Movie
UI_view2d_view_to_region_fl(&ar->v2d, 0.0f, 0.0f, &x, &y);
- glPushMatrix();
- glTranslatef(x, y, 0);
+ gpuPushMatrix();
+ gpuTranslate2f(x, y);
- glPushMatrix();
- glScalef(zoomx, zoomy, 0);
- glMultMatrixf(sc->stabmat);
- glScalef(width, height, 0);
+ gpuPushMatrix();
+ gpuScale2f(zoomx, zoomy);
+ gpuMultMatrix3D(sc->stabmat); /* XXX would like 2D stabmat --merwin */
+ gpuScale2f(width, height);
act_track = BKE_tracking_track_get_active(tracking);
@@ -1494,7 +1493,7 @@ static void draw_tracking_tracks(SpaceClip *sc, Scene *scene, ARegion *ar, Movie
immUnbindProgram();
- glPopMatrix();
+ gpuPopMatrix();
if (sc->flag & SC_SHOW_NAMES) {
/* scaling should be cleared before drawing texts, otherwise font would also be scaled */
@@ -1520,7 +1519,7 @@ static void draw_tracking_tracks(SpaceClip *sc, Scene *scene, ARegion *ar, Movie
}
}
- glPopMatrix();
+ gpuPopMatrix();
if (marker_pos)
MEM_freeN(marker_pos);
@@ -1547,11 +1546,11 @@ static void draw_distortion(SpaceClip *sc, ARegion *ar, MovieClip *clip,
UI_view2d_view_to_region_fl(&ar->v2d, 0.0f, 0.0f, &x, &y);
- 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 2D */
+ gpuScale2f(width, height);
unsigned int position = add_attrib(immVertexFormat(), "pos", GL_FLOAT, 2, KEEP_FLOAT);
@@ -1729,7 +1728,7 @@ static void draw_distortion(SpaceClip *sc,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list