diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-12-03 18:59:11 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-12-03 19:05:28 +0300 |
commit | 17a4323ef59570975b254da9936fde16969b1df0 (patch) | |
tree | bfc8c34877891c496a6e1a68c6b30f8849cb6ffc /source/blender/blenkernel/intern/subdiv_mesh.c | |
parent | bb16167fd8727a330a97f591398ac0981c76a562 (diff) |
Subdiv: Set edge render flags according to Optimal Display
This is a part of T58609, but work is still needed to properly
support this flag in the draw manager.
Diffstat (limited to 'source/blender/blenkernel/intern/subdiv_mesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/subdiv_mesh.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/subdiv_mesh.c b/source/blender/blenkernel/intern/subdiv_mesh.c index d9fcdf52969..4d9e8998cf0 100644 --- a/source/blender/blenkernel/intern/subdiv_mesh.c +++ b/source/blender/blenkernel/intern/subdiv_mesh.c @@ -53,6 +53,7 @@ */ typedef struct SubdivMeshContext { + const SubdivToMeshSettings *settings; const Mesh *coarse_mesh; Subdiv *subdiv; Mesh *subdiv_mesh; @@ -766,6 +767,9 @@ static void subdiv_copy_edge_data( subdiv_edge->crease = 0; subdiv_edge->bweight = 0; subdiv_edge->flag = 0; + if (!ctx->settings->use_optimal_display) { + subdiv_edge->flag |= ME_EDGERENDER; + } if (ctx->edge_origindex != NULL) { ctx->edge_origindex[subdiv_edge_index] = ORIGINDEX_NONE; } @@ -777,6 +781,7 @@ static void subdiv_copy_edge_data( coarse_edge_index, subdiv_edge_index, 1); + subdiv_edge->flag |= ME_EDGERENDER; } static void subdiv_mesh_edge( @@ -1123,6 +1128,7 @@ Mesh *BKE_subdiv_to_mesh( } /* Initialize subdivion mesh creation context/ */ SubdivMeshContext subdiv_context = {0}; + subdiv_context.settings = settings; subdiv_context.coarse_mesh = coarse_mesh; subdiv_context.subdiv = subdiv; /* Multi-threaded traversal/evaluation. */ |