Blender Git Commit Log

Git Commits -> Revision 04c3690

September 17, 2021, 03:29 (GMT)
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.

Commit Details:

Full Hash: 04c3690299c51b79412fe395c2507a28fbae7b56
Parent Commit: 627edd1
Lines Changed: +972, -318

4 Added Paths:

/source/blender/blenkernel/BKE_brush_engine.h (+129, -0) (View)
/source/blender/blenkernel/intern/brush_engine.c (+667, -0) (View)
/source/blender/makesdna/DNA_sculpt_brush_types.h (+84, -0) (View)
/source/blender/makesrna/intern/rna_brush_engine.c (+47, -0) (View)

12 Modified Paths:

/source/blender/blenkernel/CMakeLists.txt (+3, -1) (Diff)
/source/blender/blenkernel/intern/brush.c (+10, -0) (Diff)
/source/blender/blenkernel/intern/scene.c (+11, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt_brush_machine.c (+0, -316) (Diff)
/source/blender/makesdna/DNA_brush_enums.h (+4, -1) (Diff)
/source/blender/makesdna/DNA_brush_types.h (+8, -0) (Diff)
/source/blender/makesdna/DNA_scene_types.h (+3, -0) (Diff)
/source/blender/makesdna/intern/CMakeLists.txt (+1, -0) (Diff)
/source/blender/makesdna/intern/makesdna.c (+2, -0) (Diff)
/source/blender/makesrna/intern/CMakeLists.txt (+1, -0) (Diff)
/source/blender/makesrna/intern/makesrna.c (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_internal.h (+1, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021