From 171a47421d09e3c08c3ea68538a98a9f72827cfc Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 15 Oct 2019 19:21:38 +1100 Subject: Fix T70590: Python Gizmo API misses opacity & anti-aliasing Thanks to @mano-wii for finding root cause. --- release/scripts/modules/bpy_types.py | 10 ++++++++++ 1 file changed, 10 insertions(+) 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): """ -- cgit v1.2.3