[Bf-blender-cvs] [1a156f71038] blender2.8: use best GPU matrix function for the job

Mike Erwin noreply at git.blender.org
Fri Apr 7 19:37:28 CEST 2017


Commit: 1a156f71038e68d8781d0ce5dd6cee0eb339ebe5
Author: Mike Erwin
Date:   Fri Apr 7 13:24:00 2017 -0400
Branches: blender2.8
https://developer.blender.org/rB1a156f71038e68d8781d0ce5dd6cee0eb339ebe5

use best GPU matrix function for the job

Follow-up to 204e067111af9346fccea9981a0a7962ec8ef906 which coverted manipulators' legacy GL matrix calls to new ones.

part of T49450

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

M	source/blender/windowmanager/manipulators/intern/manipulator_library/arrow2d_manipulator.c
M	source/blender/windowmanager/manipulators/intern/manipulator_library/cage_manipulator.c
M	source/blender/windowmanager/manipulators/intern/manipulator_library/primitive_manipulator.c

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

diff --git a/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow2d_manipulator.c b/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow2d_manipulator.c
index 3f7dadbc9c2..9edff5b6107 100644
--- a/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow2d_manipulator.c
+++ b/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow2d_manipulator.c
@@ -76,11 +76,11 @@ static void arrow2d_draw_geom(ArrowManipulator2D *arrow, const float origin[2])
 	const float draw_line_ofs = (arrow->manipulator.line_width * 0.5f) / arrow->manipulator.scale;
 
 	gpuPushMatrix();
-	gpuTranslate3f(UNPACK2(origin), 0.0f);
-	gpuScale3f(arrow->manipulator.scale, arrow->manipulator.scale, 0.0f);
-	gpuRotate3f(RAD2DEGF(arrow->angle), 0.0f, 0.0f, 1.0f);
+	gpuTranslate2fv(origin);
+	gpuScaleUniform(arrow->manipulator.scale);
+	gpuRotate2D(RAD2DEGF(arrow->angle));
 	/* local offset */
-	gpuTranslate3f(arrow->manipulator.offset[0] + draw_line_ofs, arrow->manipulator.offset[1], 0.0f);
+	gpuTranslate2f(arrow->manipulator.offset[0] + draw_line_ofs, arrow->manipulator.offset[1]);
 
 	/* TODO get rid of immediate mode */
 	glBegin(GL_LINES);
diff --git a/source/blender/windowmanager/manipulators/intern/manipulator_library/cage_manipulator.c b/source/blender/windowmanager/manipulators/intern/manipulator_library/cage_manipulator.c
index c963ede3a42..f0a6cbb3778 100644
--- a/source/blender/windowmanager/manipulators/intern/manipulator_library/cage_manipulator.c
+++ b/source/blender/windowmanager/manipulators/intern/manipulator_library/cage_manipulator.c
@@ -190,12 +190,12 @@ static void manipulator_rect_transform_draw(const bContext *UNUSED(C), wmManipul
 	r.ymax = half_h;
 
 	gpuPushMatrix();
-	gpuTranslate3f(manipulator->origin[0] + manipulator->offset[0],
-	        manipulator->origin[1] + manipulator->offset[1], 0.0f);
+	gpuTranslate2f(manipulator->origin[0] + manipulator->offset[0],
+	               manipulator->origin[1] + manipulator->offset[1]);
 	if (cage->style & MANIPULATOR_RECT_TRANSFORM_STYLE_SCALE_UNIFORM)
-		gpuScale3f(cage->scale[0], cage->scale[0], 1.0);
+		gpuScaleUniform(cage->scale[0]);
 	else
-		gpuScale3f(cage->scale[0], cage->scale[1], 1.0);
+		gpuScale2fv(cage->scale);
 
 	if (w > h)
 		aspx = h / w;
diff --git a/source/blender/windowmanager/manipulators/intern/manipulator_library/primitive_manipulator.c b/source/blender/windowmanager/manipulators/intern/manipulator_library/primitive_manipulator.c
index cd54f0546a4..7d33a82568f 100644
--- a/source/blender/windowmanager/manipulators/intern/manipulator_library/primitive_manipulator.c
+++ b/source/blender/windowmanager/manipulators/intern/manipulator_library/primitive_manipulator.c
@@ -149,7 +149,7 @@ static void manipulator_primitive_draw_intern(
 		gpuMultMatrix3D(mat);
 
 		glEnable(GL_BLEND);
-		gpuTranslate3f(UNPACK3(prim->manipulator.offset));
+		gpuTranslate3fv(prim->manipulator.offset);
 		manipulator_primitive_draw_geom(col_inner, col_outer, prim->style);
 		glDisable(GL_BLEND);




More information about the Bf-blender-cvs mailing list