diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2019-09-11 00:37:14 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2019-09-17 16:03:53 +0300 |
commit | 71803f2c94b613c2ccd035fc5579e38b6e8fbcd8 (patch) | |
tree | 02295ccaceb37337a7645c1a06af21e7084e1f6d /source/blender/draw/modes | |
parent | fb39f1776f6cb808bd861c8f5ba8d0894f47e406 (diff) |
Fix T69687: Edit Curve culling
Curve edit points could disappear when the deformed curve is out of view
area. Fix similar to rB0f983e854052.
Reviewers: jbakker
Maniphest Tasks: T69687
Differential Revision: https://developer.blender.org/D5748
Diffstat (limited to 'source/blender/draw/modes')
-rw-r--r-- | source/blender/draw/modes/edit_curve_mode.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/draw/modes/edit_curve_mode.c b/source/blender/draw/modes/edit_curve_mode.c index e68e03c2438..3d8994191ca 100644 --- a/source/blender/draw/modes/edit_curve_mode.c +++ b/source/blender/draw/modes/edit_curve_mode.c @@ -270,7 +270,7 @@ static void EDIT_CURVE_cache_populate(void *vedata, Object *ob) geom = DRW_cache_curve_edge_wire_get(ob); if (geom) { - DRW_shgroup_call(wire_shgrp, geom, ob); + DRW_shgroup_call_no_cull(wire_shgrp, geom, ob); } if ((cu->flag & CU_3D) && (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_CU_NORMALS) != 0) { @@ -280,12 +280,12 @@ static void EDIT_CURVE_cache_populate(void *vedata, Object *ob) geom = DRW_cache_curve_edge_overlay_get(ob); if (geom) { - DRW_shgroup_call(stl->g_data->overlay_edge_shgrp, geom, ob); + DRW_shgroup_call_no_cull(stl->g_data->overlay_edge_shgrp, geom, ob); } geom = DRW_cache_curve_vert_overlay_get(ob, stl->g_data->show_handles); if (geom) { - DRW_shgroup_call(stl->g_data->overlay_vert_shgrp, geom, ob); + DRW_shgroup_call_no_cull(stl->g_data->overlay_vert_shgrp, geom, ob); } } } @@ -294,12 +294,12 @@ static void EDIT_CURVE_cache_populate(void *vedata, Object *ob) if (BKE_object_is_in_editmode(ob)) { struct GPUBatch *geom = DRW_cache_curve_edge_overlay_get(ob); if (geom) { - DRW_shgroup_call(stl->g_data->overlay_edge_shgrp, geom, ob); + DRW_shgroup_call_no_cull(stl->g_data->overlay_edge_shgrp, geom, ob); } geom = DRW_cache_curve_vert_overlay_get(ob, false); if (geom) { - DRW_shgroup_call(stl->g_data->overlay_vert_shgrp, geom, ob); + DRW_shgroup_call_no_cull(stl->g_data->overlay_vert_shgrp, geom, ob); } } } |