Page MenuHome

Disable GPU subdivision if autosmooth or split normals are used
ClosedPublic

Authored by Kévin Dietrich (kevindietrich) on Feb 25 2022, 3:54 AM.

Details

Summary

These features are complicated to support on GPU and hardly compatible
with subdivision in the first place. In the future, with T68891 and
T68893, subdivision and custom smooth shading will be separate workflows.
For now, and to better prepare for this future (although long term
plan), we should discourage workflows mixing subdivision and custom
smooth normals, and as such, this disables GPU subdivision when
autosmoothing or custom split normals are used.

This also adds a message in the modifier's UI to indicate that GPU
subdivision will be disabled if autosmooth or custom split normals are
used on the mesh.

Diff Detail

Repository
rB Blender
Branch
gpu_subdiv_autosmooth_disable (branched from master)
Build Status
Buildable 20724
Build 20724: arc lint + arc unit

Event Timeline

Kévin Dietrich (kevindietrich) requested review of this revision.Feb 25 2022, 3:54 AM
Kévin Dietrich (kevindietrich) created this revision.
source/blender/modifiers/intern/MOD_subsurf.c
417–419

This should only show if GPU sudivision would have been actually enabled, with the same checks as in BKE_subsurf_modifier_can_do_gpu_subdiv_ex.

Only show messsage if subdivision evaluation is possible on the GPU and enabled
in the preferences.

This revision is now accepted and ready to land.Feb 25 2022, 4:47 PM