diff options
author | Pablo Dobarro <pablodp606@gmail.com> | 2020-04-14 22:06:49 +0300 |
---|---|---|
committer | Pablo Dobarro <pablodp606@gmail.com> | 2020-04-14 22:07:29 +0300 |
commit | 47f46637be1bef9672ede0ab6795a7e9ea97fc6a (patch) | |
tree | 224be030fb8f26e240715d74153e87d7668e3a7e /source/blender/editors/sculpt_paint/sculpt_intern.h | |
parent | 7dd8c889f18e9df5c86356fedb063e5ff9261577 (diff) |
Sculpt: New Layer Brush
The Layer brush was in Blender before 2.81, when the sculpt API was
introduced. It had a huge amount of bugs and glitches which made it
almost unusable for anything but the most trivial cases. Also, it needed
some hacks in the code just to support the persistent base.
The brush was completely rewritten using the Sculpt API. It fulfills the
same use case as the old one, but it has:
- All previous artifacts fixed
- Simpler code
- Persistent base now works with multires thanks to the sculpt API
- Small cursor widget to preview the layer height
- More controllable and smoother strength and deformation
- More correct masking support
- More predictable invert support. When using persistent base, the brush invert mode resets to layer height 0, instead of jumping from +1 to -1. The brush can still be inverted in the brush direction property.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7147
Diffstat (limited to 'source/blender/editors/sculpt_paint/sculpt_intern.h')
-rw-r--r-- | source/blender/editors/sculpt_paint/sculpt_intern.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/sculpt_paint/sculpt_intern.h b/source/blender/editors/sculpt_paint/sculpt_intern.h index 8189ca8c551..c1e7508f98b 100644 --- a/source/blender/editors/sculpt_paint/sculpt_intern.h +++ b/source/blender/editors/sculpt_paint/sculpt_intern.h @@ -781,6 +781,9 @@ typedef struct StrokeCache { /* Stores the displacement produced by the laplacian step of HC smooth. */ float (*surface_smooth_laplacian_disp)[3]; + /* Layer brush */ + float *layer_displacement_factor; + float vertex_rotation; /* amount to rotate the vertices when using rotate brush */ struct Dial *dial; |