Page MenuHome

Fix T67888: Incorrect Wireframe After Applying SubSurf/MultiRes
ClosedPublic

Authored by Jeroen Bakker (jbakker) on Tue, Mar 17, 4:56 PM.

Details

Summary

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.

Diff Detail

Repository
rB Blender

Event Timeline

Brecht Van Lommel (brecht) requested changes to this revision.Thu, Mar 26, 1:51 PM

Better would be to not add any hardcoded exceptions for this, but rather add a ModifierApplyFlag that is set in ModifierEvalContext, which each modifier type can handle as needed?

source/blender/editors/object/object_modifier.c
693–696 ↗(On Diff #22876)

Multires has the same option so should be handled as well.

707–708 ↗(On Diff #22876)

Applying can fail, we should be sure the modifier is not affected then.

This revision now requires changes to proceed.Thu, Mar 26, 1:51 PM

Code review comments:

  • Add MOD_APPLY_TO_BASE_MESH that can be checked.
  • Add similar logic to multires
Jeroen Bakker (jbakker) edited the summary of this revision. (Show Details)Thu, Mar 26, 3:10 PM
Jeroen Bakker (jbakker) retitled this revision from Fix T67888: Incorrect Wireframe After Applying SubSurf to Fix T67888: Incorrect Wireframe After Applying SubSurf/MultiRes.Thu, Mar 26, 3:19 PM
This revision is now accepted and ready to land.Thu, Mar 26, 3:29 PM
Jeroen Bakker (jbakker) edited the summary of this revision. (Show Details)Thu, Mar 26, 3:35 PM