← All ideas
  • Published 22 Jul 2024

Subdivision modifier should ignore sharp edges that it is not supposed to use

Hi all, I tried 4.2 LTS today, but something is leaving me puzzled about it. The subdivision modifier now refuses to use GPU acceleration, because it detects sharp edges. Maybe I'm missing something obvious.

All my character models have sharp edges + creases for areas like finger nails, etc. They had these for the past decade and they never caused issues. I use a Subdivision modifier that uses the creases, and an EdgeSplit modifier after it, to produce razor-sharp edges. When GPU subdiv got implemented back then, I always kept EdgeSplit disabled during editing, so that the Subdivision Modifier could use the GPU. Now for some reason, the Subdivision modifier cares about the sharp edges that it's not even supposed to use for anything. That new "Use Custom Normals" option is disabled, but it keeps refusing to use the GPU.

I would disable the "auto-smooth" toggle, if it still were there. In 4.1 I've already been annoyed at having to click "Clear Custom Split Normals Data" all the time too. These have never been part of my workflow, and I've been forced to touch them way too often lately, but that's a different issue.

Losing GPU subdiv again throws me back to 3.0 times. I don't want to remove my sharp edges, and making a separate "real-time" copy of my meshes would be a hassle.

Could we please get any way to make the Subdivision modifier stop using anything related to sharp edges or split normals? Creases are all I need it to use.

Any possible workarounds would be highly appreciated too.

100%

Development Status: Open

Upvote 1 Downvote 0
takuya
22 Jul 2024

1 Comment

takuya Author

Alright, one day later, the current workaround is to rename the "sharp_edge" attribute into "sharp_edge2", to hide it from the subdiv modifier, and to re-implement the edge split modifier using geometry nodes, which looks for the new attribute name. The downside is that now sharp edges don't show up in the editor.

Which makes me wonder if it wouldn't make sense to allow selecting edge attributes in modifiers like it's done with vertex groups. Relying on pre-defined attribute names to force an attribute to be used in some default way, without any way to change that behavior, seems outdated. Instead of editing sharp edges, creases, bevel edges, seams and freestyle edges, it might make more sense to have a way to edit any arbitrary edge attributes, since that seems to be completely lacking right now.