[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