[Bf-blender-cvs] [57ac20d5b7] blender2.8: OpenGL immediate mode: space_graph.c

Luca Rood noreply at git.blender.org
Thu Feb 2 17:30:05 CET 2017


Commit: 57ac20d5b72c060a0f2d938a86f640bf42132589
Author: Luca Rood
Date:   Wed Feb 1 23:00:39 2017 -0200
Branches: blender2.8
https://developer.blender.org/rB57ac20d5b72c060a0f2d938a86f640bf42132589

OpenGL immediate mode: space_graph.c

Part of T49043

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

M	source/blender/editors/space_graph/space_graph.c

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

diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c
index f12db31085..3a9a4b1884 100644
--- a/source/blender/editors/space_graph/space_graph.c
+++ b/source/blender/editors/space_graph/space_graph.c
@@ -53,7 +53,7 @@
 #include "ED_anim_api.h"
 #include "ED_markers.h"
 
-#include "BIF_gl.h"
+#include "GPU_immediate.h"
 
 #include "WM_api.h"
 #include "WM_types.h"
@@ -265,43 +265,52 @@ static void graph_main_region_draw(const bContext *C, ARegion *ar)
 	
 	/* only free grid after drawing data, as we need to use it to determine sampling rate */
 	UI_view2d_grid_free(grid);
-	
-	/* horizontal component of value-cursor (value line before the current frame line) */
-	if ((sipo->flag & SIPO_NODRAWCURSOR) == 0) {
 
-		float y = sipo->cursorVal;
-		
-		/* Draw a green line to indicate the cursor value */
-		UI_ThemeColorShadeAlpha(TH_CFRAME, -10, -50);
-		glEnable(GL_BLEND);
-		glLineWidth(2.0);
+	if (((sipo->flag & SIPO_NODRAWCURSOR) == 0) || (sipo->mode == SIPO_MODE_DRIVERS)) {
+		unsigned pos = add_attrib(immVertexFormat(), "pos", GL_FLOAT, 2, KEEP_FLOAT);
 
-		glBegin(GL_LINES);
-		glVertex2f(v2d->cur.xmin, y);
-		glVertex2f(v2d->cur.xmax, y);
-		glEnd();
+		immBindBuiltinProgram(GPU_SHADER_3D_UNIFORM_COLOR);
 
-		glDisable(GL_BLEND);
-	}
-	
-	/* current frame or vertical component of vertical component of the cursor */
-	if (sipo->mode == SIPO_MODE_DRIVERS) {
-		/* cursor x-value */
-		float x = sipo->cursorTime;
-		
-		/* to help differentiate this from the current frame, draw slightly darker like the horizontal one */
-		UI_ThemeColorShadeAlpha(TH_CFRAME, -40, -50);
-		glEnable(GL_BLEND);
-		glLineWidth(2.0);
-		
-		glBegin(GL_LINES);
-		glVertex2f(x, v2d->cur.ymin);
-		glVertex2f(x, v2d->cur.ymax);
-		glEnd();
+		/* horizontal component of value-cursor (value line before the current frame line) */
+		if ((sipo->flag & SIPO_NODRAWCURSOR) == 0) {
+
+			float y = sipo->cursorVal;
+
+			/* Draw a green line to indicate the cursor value */
+			immUniformThemeColorShadeAlpha(TH_CFRAME, -10, -50);
+			glEnable(GL_BLEND);
+			glLineWidth(2.0);
+
+			immBegin(GL_LINES, 2);
+			immVertex2f(pos, v2d->cur.xmin, y);
+			immVertex2f(pos, v2d->cur.xmax, y);
+			immEnd();
 
-		glDisable(GL_BLEND);
+			glDisable(GL_BLEND);
+		}
+
+		/* current frame or vertical component of vertical component of the cursor */
+		if (sipo->mode == SIPO_MODE_DRIVERS) {
+			/* cursor x-value */
+			float x = sipo->cursorTime;
+
+			/* to help differentiate this from the current frame, draw slightly darker like the horizontal one */
+			immUniformThemeColorShadeAlpha(TH_CFRAME, -40, -50);
+			glEnable(GL_BLEND);
+			glLineWidth(2.0);
+
+			immBegin(GL_LINES, 2);
+			immVertex2f(pos, x, v2d->cur.ymin);
+			immVertex2f(pos, x, v2d->cur.ymax);
+			immEnd();
+
+			glDisable(GL_BLEND);
+		}
+
+		immUnbindProgram();
 	}
-	else {
+
+	if (sipo->mode != SIPO_MODE_DRIVERS) {
 		/* current frame */
 		if (sipo->flag & SIPO_DRAWTIME) flag |= DRAWCFRA_UNIT_SECONDS;
 		if ((sipo->flag & SIPO_NODRAWCFRANUM) == 0) flag |= DRAWCFRA_SHOW_NUMBOX;




More information about the Bf-blender-cvs mailing list