Page MenuHome

Sculpt: Dyntopo detail aware smoothing
Changes PlannedPublic

Authored by Pablo Dobarro (pablodp606) on Oct 29 2020, 7:20 PM.
Tags
None
Tokens
"Love" token, awarded by DiogoX2."Love" token, awarded by amalbubble."Love" token, awarded by gritche."Love" token, awarded by Harti."Love" token, awarded by hitrpr."100" token, awarded by Frozen_Death_Knight."Love" token, awarded by mindinsomnia."Love" token, awarded by JulienKaspar."Like" token, awarded by rpserge."Love" token, awarded by tiagoffcruz."Like" token, awarded by YAFU."Love" token, awarded by Kickflipkid687.

Details

Summary

This implements a different smooth algorithm for dyntopo. This smooth
algorithm takes the current dyntopo detail size into account and tries
to smooth the whole mesh as it has that detail applied.

New:

Old (regular laplacian smooth):

This fixes the smoothing artifacts and bad deformation that regular
laplacian smoothing creates as areas with lower detail resolution will
smooth faster.

Dyntopo now uses this smooth algorithm by default automatically, but it
can be also added as an option. Its strength can also be tweaked
independently.

Diff Detail

Repository
rB Blender
Branch
dyntopo-detail-aware-smoothing (branched from master)
Build Status
Buildable 11054
Build 11054: arc lint + arc unit

Event Timeline

Pablo Dobarro (pablodp606) requested review of this revision.Oct 29 2020, 7:20 PM

It would also be a good idea to have this available for meshes and Multires, but this algorithm needs a know detail size in order to work. It is not clear to me how to decide the detail size for meshes and multires (maybe the average of the edge length of the whole mesh?)

Sergey Sharybin (sergey) requested changes to this revision.Oct 30 2020, 9:49 AM
Sergey Sharybin (sergey) added inline comments.
source/blender/blenkernel/intern/pbvh_bmesh.c
2118

Either parenthesis is missing, or it is not an average.

source/blender/editors/sculpt_paint/sculpt_smooth.c
65

There is a missing explanation of how it is different from SCULPT_neighbor_coords_average_interior, when it can/should be used. Same applies to the SCULPT_neighbor_coords_average_interior.

This revision now requires changes to proceed.Oct 30 2020, 9:49 AM
Pablo Dobarro (pablodp606) marked 2 inline comments as done.
  • review update
This revision is now accepted and ready to land.Nov 3 2020, 9:16 AM

This patch has an approved status however it was not committed yet. So I'm assuming the other reviewers are blocking. Updating the reviewers list to reflect this. This way the patch status still show as Need Review.

This revision now requires review to proceed.Mar 26 2021, 5:44 PM
Pablo Dobarro (pablodp606) planned changes to this revision.Mar 29 2021, 5:07 PM

This will be committed after merging the dyntopo improvements.