diff options
author | Joseph Eagar <joeedh@gmail.com> | 2021-09-17 06:29:33 +0300 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2021-09-17 06:29:33 +0300 |
commit | 04c3690299c51b79412fe395c2507a28fbae7b56 (patch) | |
tree | 50692b216a2ad00b7e81770dbf02d721a937bd1b /source/blender/makesrna/intern/rna_brush.c | |
parent | 627edd1efabb0baaed3127bd127215ffb0ddfbac (diff) |
Sculpt dyntopo: Roughed out skeleton of new brush engine API
Command Lists
* The new system will be based on command lists
generated by (eventually) a node editor.
* For now, the lists will be hardcoded.
* Idea is to make a minimal viable
brush engine that won't cause file breakage
when the upgrade to node-based brushes happen.
Brush Channels
* Wrote new structures and API to wrange
brush parameters: BrushChannel.
* Supports, floats, ints, enums, bitmasks,
with plans for vec3 and vec4.
* This will replace UnifiedPaintStruct,
most of the members of Brush and the
DynTopoSettings struct.
* Brush channels can
be mapped to various input device
channels (e.g. pen pressure); each
mapping has its own associated curve
(CurveMapping instance) and bounds.
Brush channel inheritence chaining
* Brush channels can form inheritence chains
* Channel sets are stored in three places:
in the scene toolsettings, in Brush, and in
individual brush commands.
* Node groups will also have a channel set.
* Channels in each set can be flagged to
inherit from the parent set.
* Inheritence happens in seperate merged
channel sets at runtime. The final
Brush channels live in Brush->channels_final,
while the final command channels live in
BrushCommand->params_final.
Diffstat (limited to 'source/blender/makesrna/intern/rna_brush.c')
0 files changed, 0 insertions, 0 deletions