[Bf-blender-cvs] [171a47421d0] blender-v2.81-release: Fix T70590: Python Gizmo API misses opacity & anti-aliasing

Campbell Barton noreply at git.blender.org
Tue Oct 15 10:26:56 CEST 2019


Commit: 171a47421d09e3c08c3ea68538a98a9f72827cfc
Author: Campbell Barton
Date:   Tue Oct 15 19:21:38 2019 +1100
Branches: blender-v2.81-release
https://developer.blender.org/rB171a47421d09e3c08c3ea68538a98a9f72827cfc

Fix T70590: Python Gizmo API misses opacity & anti-aliasing

Thanks to @mano-wii for finding root cause.

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

M	release/scripts/modules/bpy_types.py

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

diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py
index 6cb9600b9b4..43ee785438b 100644
--- a/release/scripts/modules/bpy_types.py
+++ b/release/scripts/modules/bpy_types.py
@@ -639,17 +639,27 @@ class Gizmo(StructRNA):
 
         if select_id is not None:
             gpu.select.load_id(select_id)
+            use_blend = False
         else:
             if self.is_highlight:
                 color = (*self.color_highlight, self.alpha_highlight)
             else:
                 color = (*self.color, self.alpha)
             shader.uniform_float("color", color)
+            use_blend = color[3] < 1.0
+
+        if use_blend:
+            # TODO: wrap GPU_blend from GPU state.
+            from bgl import glEnable, glDisable, GL_BLEND
+            glEnable(GL_BLEND)
 
         with gpu.matrix.push_pop():
             gpu.matrix.multiply_matrix(matrix)
             batch.draw()
 
+        if use_blend:
+            glDisable(GL_BLEND)
+
     @staticmethod
     def new_custom_shape(type, verts):
         """



More information about the Bf-blender-cvs mailing list