Blender Git Loki
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)
/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)
/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)