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:
authorJeroen Bakker <j.bakker@atmind.nl>2019-06-27 12:55:23 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2019-06-27 13:53:17 +0300
commit0f983e8540529025d27fd9197f3d6e95ed476d3d (patch)
tree396a81889c822a92da6485fb247460cb6251184d
parent5eb156e7692b9ab24338c73f82360338396cdbe1 (diff)
Fix T65893: Edit Mesh Culling
The edit mesh is culled by object. When the object is not visible on screen, the edit mesh may still be visible. This change will not cull the edit mesh anymore. Reviewed By: fclem Differential Revision: https://developer.blender.org/D5144
-rw-r--r--source/blender/draw/modes/edit_mesh_mode.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/source/blender/draw/modes/edit_mesh_mode.c b/source/blender/draw/modes/edit_mesh_mode.c
index eca60c291fe..272aa552d38 100644
--- a/source/blender/draw/modes/edit_mesh_mode.c
+++ b/source/blender/draw/modes/edit_mesh_mode.c
@@ -667,17 +667,17 @@ static void edit_mesh_add_ob_to_pass(Scene *scene,
geom_tris = DRW_mesh_batch_cache_get_edit_triangles(ob->data);
geom_edges = DRW_mesh_batch_cache_get_edit_edges(ob->data);
- DRW_shgroup_call(edge_shgrp, geom_edges, ob);
- DRW_shgroup_call(face_shgrp, geom_tris, ob);
+ DRW_shgroup_call_no_cull(edge_shgrp, geom_edges, ob);
+ DRW_shgroup_call_no_cull(face_shgrp, geom_tris, ob);
if ((tsettings->selectmode & SCE_SELECT_VERTEX) != 0) {
geom_verts = DRW_mesh_batch_cache_get_edit_vertices(ob->data);
- DRW_shgroup_call(vert_shgrp, geom_verts, ob);
+ DRW_shgroup_call_no_cull(vert_shgrp, geom_verts, ob);
}
if (facedot_shgrp && (tsettings->selectmode & SCE_SELECT_FACE) != 0) {
geom_fcenter = DRW_mesh_batch_cache_get_edit_facedots(ob->data);
- DRW_shgroup_call(facedot_shgrp, geom_fcenter, ob);
+ DRW_shgroup_call_no_cull(facedot_shgrp, geom_fcenter, ob);
}
}
@@ -702,7 +702,7 @@ static void EDIT_MESH_cache_populate(void *vedata, Object *ob)
if (do_show_weight) {
geom = DRW_cache_mesh_surface_weights_get(ob);
- DRW_shgroup_call(g_data->fweights_shgrp, geom, ob);
+ DRW_shgroup_call_no_cull(g_data->fweights_shgrp, geom, ob);
}
if (do_show_mesh_analysis && !XRAY_ACTIVE(v3d)) {
@@ -713,30 +713,30 @@ static void EDIT_MESH_cache_populate(void *vedata, Object *ob)
if (is_original) {
geom = DRW_cache_mesh_surface_mesh_analysis_get(ob);
if (geom) {
- DRW_shgroup_call(g_data->mesh_analysis_shgrp, geom, ob);
+ DRW_shgroup_call_no_cull(g_data->mesh_analysis_shgrp, geom, ob);
}
}
}
if (do_occlude_wire || do_in_front) {
geom = DRW_cache_mesh_surface_get(ob);
- DRW_shgroup_call(do_in_front ? g_data->depth_shgrp_hidden_wire_in_front :
- g_data->depth_shgrp_hidden_wire,
- geom,
- ob);
+ DRW_shgroup_call_no_cull(do_in_front ? g_data->depth_shgrp_hidden_wire_in_front :
+ g_data->depth_shgrp_hidden_wire,
+ geom,
+ ob);
}
if (vnormals_do) {
geom = DRW_mesh_batch_cache_get_edit_vertices(ob->data);
- DRW_shgroup_call(g_data->vnormals_shgrp, geom, ob);
+ DRW_shgroup_call_no_cull(g_data->vnormals_shgrp, geom, ob);
}
if (lnormals_do) {
geom = DRW_mesh_batch_cache_get_edit_lnors(ob->data);
- DRW_shgroup_call(g_data->lnormals_shgrp, geom, ob);
+ DRW_shgroup_call_no_cull(g_data->lnormals_shgrp, geom, ob);
}
if (fnormals_do) {
geom = DRW_mesh_batch_cache_get_edit_facedots(ob->data);
- DRW_shgroup_call(g_data->fnormals_shgrp, geom, ob);
+ DRW_shgroup_call_no_cull(g_data->fnormals_shgrp, geom, ob);
}
if (g_data->do_zbufclip) {