Page MenuHome

Optimal Display overriden in a modifier stack
Closed, ArchivedPublic

Description

System Information
Operating system and graphics card
xp sp3

Blender Version
Broken: all 2.6x- 2.7 versions i tested
Worked: Blender 2.49b

Short description of error
if you enable Wire and Draw All Edges (in the Object panel on the right of the screen) on an object that has a Subdivision surface modifier or a Multiresolution modifier, and enable Optimal Display on the modifier, as you expect the wire displayed is the one from the level 0 of the subsurf/multires

But if you add a shrinkwrap modifier that target another object, the Optimal Display is overriden and all the edges will always be displayed, regardless if Optimal Display is enabled or not

Exact steps for others to reproduce the error

  • add a subsurf to default cube, subsurf a bit and apply the subsurf, hide to to see better what's next
  • add another cube , add a subsurf modifier, subsurf a couple of time but do not apply the subsurf
  • in the Object panel enable "Wire" and "Draw All Edges", you see all the edges appearing
  • in the subsurf modifier enable "Optimal Display" so only the edges of level 0 of the subsurf are displayed

so far good

  • now add a shrinkwrap modifier, target the polysphere (subdivide cube) you created before

after doing that, you'll see that suddenly all the edges are displayed, despite you have the Optimal Display enabled.

to speed up, just load the blend i attach here that has all the steps already done if i'm not clear enough :

Details

Type
Bug

Event Timeline

Sanc Tuary (sanctuary) set Type to Bug.
Sanc Tuary (sanctuary) created this task.
Sanc Tuary (sanctuary) raised the priority of this task from to Needs Triage by Developer.

In fact, this is not a bug, rather an internal limitation. This feature can only work as long as subsurf data are available from modifier stack - if another modifier down in the stack replaces it for some reason, this simply cannot work. Thanks for the report, anyway.