Page MenuHome

Wireframe is not Updated When Converting to Mesh
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows 10 64 bit
Graphics card: Nvidia GTX 750 Ti

Blender Version
Broken: 2.90.1 release, 2.92 alpha 165b4f85ec23
Worked: 2.79b

Short description of error
When "Optimal Display" in the Subdivision Surface modifier is enabled, only the edges of the original mesh are displayed in the wireframe.
Of course, when the modifier is applied regularly, the wireframe shows all edges of the resulting mesh.

However, if the modifier is applied by using Object > Convert To > Mesh, the wireframe is not updated and stays "sparse".

Exact steps for others to reproduce the error

  1. Open the file.
  2. In the 3d view header click on Object > Convert To > Mesh.
  3. Observe that the mesh still has a sparse wireframe.
  4. Enter Edit Mode and then switch back to Object Mode.
  5. Observe that the wireframe now displays all edges.

Event Timeline

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Oct 23 2020, 10:30 PM
Philipp Oeser (lichtwerk) claimed this task.
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Bug".

Can confirm.

When using Optimal Display, some edges are not flagged ME_EDGEDRAW | ME_EDGERENDER
When the modifier is applied through the UI in the modifier stack this is prevented because the modifyMesh callback is run with MOD_APPLY_TO_BASE_MESH (this will effectively turn of Optimal Display).
When converting to mesh, we'd probably have to do it "by hand", have a patch (not sure though if there is a nicer way to do this though), will post in a bit.