Commit: c9e8584e7f9af60f9e7b6d1ae136915e300a52cb
Author: Clément Foucault
Date:   Fri Feb 24 01:17:48 2017 +0100
Branches: blender2.8
https://developer.blender.org/rBc9e8584e7f9af60f9e7b6d1ae136915e300a52cb

Opengl glaDrawPixels removal: windowmanager

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

M       source/blender/windowmanager/intern/wm_dragdrop.c
M       source/blender/windowmanager/intern/wm_gesture.c

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

diff --git a/source/blender/windowmanager/intern/wm_dragdrop.c 
b/source/blender/windowmanager/intern/wm_dragdrop.c
index 2d1dcd7f3c..3cb767f130 100644
--- a/source/blender/windowmanager/intern/wm_dragdrop.c
+++ b/source/blender/windowmanager/intern/wm_dragdrop.c
@@ -332,8 +332,9 @@ void wm_drags_draw(bContext *C, wmWindow *win, rcti *rect)
                        if (rect)
                                drag_rect_minmax(rect, x, y, x + drag->sx, y + 
drag->sy);
                        else {
-                               glColor4f(1.0, 1.0, 1.0, 0.65); /* this blends 
texture */
-                               glaDrawPixelsTexScaled(x, y, drag->imb->x, 
drag->imb->y, GL_RGBA, GL_UNSIGNED_BYTE, GL_NEAREST, drag->imb->rect, 
drag->scale, drag->scale);
+                               float col[4] = {1.0f, 1.0f, 1.0f, 0.65f}; /* 
this blends texture */
+                               immDrawPixelsTexScaled(x, y, drag->imb->x, 
drag->imb->y, GL_RGBA, GL_UNSIGNED_BYTE, GL_NEAREST,
+                                                      drag->imb->rect, 
drag->scale, drag->scale, 1.0f, 1.0f, col);
                        }
                }
                else {
diff --git a/source/blender/windowmanager/intern/wm_gesture.c 
b/source/blender/windowmanager/intern/wm_gesture.c
index 46203333eb..6114012404 100644
--- a/source/blender/windowmanager/intern/wm_gesture.c
+++ b/source/blender/windowmanager/intern/wm_gesture.c
@@ -52,8 +52,9 @@
 #include "wm.h"
 #include "wm_subwindow.h"
 #include "wm_draw.h"
-#include "GPU_basic_shader.h"
 
+#include "GPU_basic_shader.h"
+#include "GPU_shader.h"
 
 #include "BIF_glutil.h"
 
@@ -253,6 +254,7 @@ static void draw_filled_lasso(wmWindow *win, wmGesture *gt)
        int i;
        rcti rect;
        rcti rect_win;
+       float red[4] = {1.0f, 0.0f, 0.0f, 0.0f};
 
        for (i = 0; i < tot; i++, lasso += 2) {
                moves[i][0] = lasso[0];
@@ -278,28 +280,27 @@ static void draw_filled_lasso(wmWindow *win, wmGesture 
*gt)
                       (const int (*)[2])moves, tot,
                       draw_filled_lasso_px_cb, &lasso_fill_data);
 
+               /* Additive Blending */
+               glEnable(GL_BLEND);
+               glBlendFunc(GL_ONE, GL_ONE);
+
                glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
 
-               glColor4f(1, 1, 1, 1);
-               glPixelTransferf(GL_RED_BIAS, 1);
-               glPixelTransferf(GL_GREEN_BIAS, 1);
-               glPixelTransferf(GL_BLUE_BIAS, 1);
+               GPUShader *shader = 
GPU_shader_get_builtin_shader(GPU_SHADER_2D_IMAGE_SHUFFLE_COLOR);
+               GPU_shader_bind(shader);
+               GPU_shader_uniform_vector(shader, 
GPU_shader_get_uniform(shader, "shuffle"), 4, 1, red);
 
-               GPU_basic_shader_bind(GPU_SHADER_TEXTURE_2D | 
GPU_SHADER_USE_COLOR);
-
-               glEnable(GL_BLEND);
-               glaDrawPixelsTex(rect.xmin, rect.ymin, w, h, GL_ALPHA, 
GL_UNSIGNED_BYTE, GL_NEAREST, pixel_buf);
-               glDisable(GL_BLEND);
+               immDrawPixelsTex(rect.xmin, rect.ymin, w, h, GL_RED, 
GL_UNSIGNED_BYTE, GL_NEAREST, pixel_buf, 1.0f, 1.0f, NULL);
 
+               GPU_shader_unbind();
                GPU_basic_shader_bind(GPU_SHADER_USE_COLOR);
 
-               glPixelTransferf(GL_RED_BIAS, 0);
-               glPixelTransferf(GL_GREEN_BIAS, 0);
-               glPixelTransferf(GL_BLUE_BIAS, 0);
-
                glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
 
+
                MEM_freeN(pixel_buf);
+
+               glDisable(GL_BLEND);
        }
 
        MEM_freeN(moves);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to