[Bf-blender-cvs] [71803f2c94b] master: Fix T69687: Edit Curve culling

Philipp Oeser noreply at git.blender.org
Tue Sep 17 15:08:06 CEST 2019


Commit: 71803f2c94b613c2ccd035fc5579e38b6e8fbcd8
Author: Philipp Oeser
Date:   Tue Sep 10 23:37:14 2019 +0200
Branches: master
https://developer.blender.org/rB71803f2c94b613c2ccd035fc5579e38b6e8fbcd8

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

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

M	source/blender/draw/modes/edit_curve_mode.c

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

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);
       }
     }
   }



More information about the Bf-blender-cvs mailing list