Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGermano Cavalcante <germano.costa@ig.com.br>2021-11-18 19:55:21 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2021-11-18 20:14:57 +0300
commitea42c1a22ed3bec36ce968d7fbfcade9efeefdff (patch)
treea79bd907b395e146a86c84db193083dc96f8878b /source/blender/editors/transform
parentf61a73093ba5efcbcf60098c12acbff4b31d8b08 (diff)
Revert "Revert "Revert "Revert "Adjust snap source drawing when adding multiple snap points""""
This reverts commit b8bf40ed4bf618a6bc908e39278cfbfd385e0d4b.
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r--source/blender/editors/transform/transform_snap.c36
1 files changed, 34 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c
index f52061f8910..8ed0a1f2ea8 100644
--- a/source/blender/editors/transform/transform_snap.c
+++ b/source/blender/editors/transform/transform_snap.c
@@ -237,12 +237,44 @@ void drawSnapping(const struct bContext *C, TransInfo *t)
}
if (t->modifiers & MOD_EDIT_SNAP_SOURCE) {
+ /* Indicate the new snap source position. */
+
float snap_point[3];
getSnapPoint(t, snap_point);
+ float vx[3], vy[3], v[3];
+ float size_tmp = ED_view3d_pixel_size(rv3d, snap_point) * size;
+ float size_fac = 0.5f;
+
+ mul_v3_v3fl(vx, view_inv[0], size_tmp);
+ mul_v3_v3fl(vy, view_inv[1], size_tmp);
+
immUniformColor4ubv(col);
- imm_drawX(
- snap_point, 0.75f * size * ED_view3d_pixel_size(rv3d, snap_point), view_inv, pos);
+
+ imm_drawcircball(snap_point, size_tmp, view_inv, pos);
+
+ immBegin(GPU_PRIM_LINES, 8);
+ add_v3_v3v3(v, snap_point, vx);
+ immVertex3fv(pos, v);
+ madd_v3_v3fl(v, vx, size_fac);
+ immVertex3fv(pos, v);
+
+ sub_v3_v3v3(v, snap_point, vx);
+ immVertex3fv(pos, v);
+ madd_v3_v3fl(v, vx, -size_fac);
+ immVertex3fv(pos, v);
+
+ add_v3_v3v3(v, snap_point, vy);
+ immVertex3fv(pos, v);
+ madd_v3_v3fl(v, vy, size_fac);
+ immVertex3fv(pos, v);
+
+ sub_v3_v3v3(v, snap_point, vy);
+ immVertex3fv(pos, v);
+ madd_v3_v3fl(v, vy, -size_fac);
+ immVertex3fv(pos, v);
+
+ immEnd();
}
immUnbindProgram();