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 /source/blender/draw/modes
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
Diffstat (limited to 'source/blender/draw/modes')
-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) {