Sculpt-dev: fix elastic deform brush

* Volume preservation had wrong bounds in
  elastic deform brush leading to wrong
  behavior.
* Fixed unprojected_radius channel not
  being shown in header when scene radius
  unit is on.
* Draw face sets now only fully rebuild draw buffers
  in indexed draw modes that require it.
This commit is contained in:
2021-12-02 16:37:31 -08:00
parent 61e2d15bfe
commit e4b6180c4e
6 changed files with 33 additions and 11 deletions

View File

@@ -261,19 +261,26 @@ class _draw_tool_settings_context_mode:
"accumulate" : ["Accu..", 2.5] #needs an icon
}
scene_radius = UnifiedPaintPanel.get_channel_value(context, brush, "radius_unit") == "SCENE"
for ch in brush.channels:
show_in_header = ch.show_in_header
if ch.idname == "radius" and scene_radius:
ch = brush.channels["unprojected_radius"]
final_ch = ch
if ch.inherit:
sculpt.channels.ensure(ch)
final_ch = sculpt.channels[ch.idname]
row = row1.row(align=False).row(align=True)
row.use_property_split = False
row.use_property_decorate = False
layoutuse_property_split = False
if show_in_header:
row = row1.row(align=False).row(align=True)
row.use_property_split = False
row.use_property_decorate = False
layoutuse_property_split = False
if ch.show_in_header:
text = ch.name if ch.type in ["BOOL", "FLOAT", "INT"] else ""
if final_ch.type in ["VEC3", "VEC4"]: