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 <jbakker>2020-03-26 16:36:39 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2020-03-26 17:34:53 +0300
commit7ed3ebbc6e1f95203c050e683a140b7ac1e7b705 (patch)
treec784d8cc1e1e0954c6193e930228ba32fea29615 /source/blender/blenkernel/intern/multires_subdiv.c
parent2e8fb95e7c69274944ecb44b2b51f8b4307f88ae (diff)
Fix T67888: Incorrect Wireframe After Applying SubSurf/MultiRes
Show control edges stores the control edges in the mesh which is picked up by the draw manager. When applyng a subsurf (or multires) we don't want that data present in the base mesh. Any rebuilding of the mesh would overwrite the data anyway. This patch introduces a new flag for applying modifiers that can be checked to ignore storing display specific data in the base mesh. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D7163
Diffstat (limited to 'source/blender/blenkernel/intern/multires_subdiv.c')
-rw-r--r--source/blender/blenkernel/intern/multires_subdiv.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/multires_subdiv.c b/source/blender/blenkernel/intern/multires_subdiv.c
index 2ea02ab6974..f7e42942f3e 100644
--- a/source/blender/blenkernel/intern/multires_subdiv.c
+++ b/source/blender/blenkernel/intern/multires_subdiv.c
@@ -50,9 +50,11 @@ void BKE_multires_subdiv_mesh_settings_init(SubdivToMeshSettings *mesh_settings,
const Object *object,
const MultiresModifierData *mmd,
const bool use_render_params,
- const bool ignore_simplify)
+ const bool ignore_simplify,
+ const bool ignore_control_edges)
{
const int level = multires_get_level(scene, object, mmd, use_render_params, ignore_simplify);
mesh_settings->resolution = (1 << level) + 1;
- mesh_settings->use_optimal_display = (mmd->flags & eMultiresModifierFlag_ControlEdges);
+ mesh_settings->use_optimal_display = (mmd->flags & eMultiresModifierFlag_ControlEdges) &&
+ !ignore_control_edges;
}