From 9d80e6a6bb37426a0644beb12192a5d19fed93d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Tue, 30 Jun 2020 18:21:35 +0200 Subject: Fix T76480 UI: Proportional Editing Color too Shallow on 2.9a This changes the drawing by drawing 2 circles with different intensity to avoid any readability issues. This removes the need for Logic OP which is implementation dependent. --- .../blender/editors/transform/transform_constraints.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'source/blender') diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c index 541af891068..66b90eb159f 100644 --- a/source/blender/editors/transform/transform_constraints.c +++ b/source/blender/editors/transform/transform_constraints.c @@ -878,12 +878,21 @@ void drawPropCircle(const struct bContext *C, TransInfo *t) uint pos = GPU_vertformat_attr_add(immVertexFormat(), "pos", GPU_COMP_F32, 3, GPU_FETCH_FLOAT); - immBindBuiltinProgram(GPU_SHADER_3D_UNIFORM_COLOR); - immUniformThemeColor(TH_GRID); + immBindBuiltinProgram(GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR); - GPU_logic_op_invert_set(true); + float viewport[4]; + GPU_viewport_size_get_f(viewport); + GPU_blend(true); + + immUniform2fv("viewportSize", &viewport[2]); + immUniform1f("lineWidth", 3.0f * U.pixelsize); + + immUniformThemeColorShadeAlpha(TH_GRID, -20, 255); + imm_drawcircball(t->center_global, t->prop_size, imat, pos); + + immUniform1f("lineWidth", 1.0f * U.pixelsize); + immUniformThemeColorShadeAlpha(TH_GRID, 20, 255); imm_drawcircball(t->center_global, t->prop_size, imat, pos); - GPU_logic_op_invert_set(false); immUnbindProgram(); -- cgit v1.2.3