Page MenuHome

Fix T98773: GPU subdivision issues with UV editor display
ClosedPublic

Authored by Brecht Van Lommel (brecht) on Aug 10 2022, 8:02 PM.

Details

Summary

This fixes missing selection updates in UV editor, both with GPU subdivision
and with the Modified Edges display option for modifiers in general.

It also fixes the UV editor incorrectly showing the cage mesh with deformed
coordinates. These are not yet supported by the UV selection system.

Changes:

  • Always read selection state from the editmesh when building batches. The flags in the evaluated mesh can be outdated as selection bypasses depsgraph evaluation for performance, and instead may just clear the batches.
  • runtime.is_original is only valid for the bmesh wrapper. The check for building the UV cage should only use that if the mesh is a bmesh wrapper.
  • Don't create cage batches for objects whose mesh is in edit mode, but that are not themselves in edit mode, there is no need.

Diff Detail

Repository
rB Blender

Event Timeline

Brecht Van Lommel (brecht) requested review of this revision.Aug 10 2022, 8:02 PM
Brecht Van Lommel (brecht) created this revision.
Kévin Dietrich (kevindietrich) requested changes to this revision.Aug 12 2022, 3:29 PM

Overall the patch seems to work fine. However, it seems to break face dot/center selection in some cases (the dot stays black when the face is selected).

This file is broken:

But this one seems to work:

Both of the files have other modifiers in the stack, however, the default cube with just a subsurf modifier is also showing the problem.

This revision now requires changes to proceed.Aug 12 2022, 3:29 PM

Simpler fix that only affects UV drawing, avoiding the regression with face dots.

Everything seems to be working fine.

This revision is now accepted and ready to land.Aug 16 2022, 3:00 PM