Blender Git Commits

Blender Git "soc-2021-curves" branch commits.

Page: 9 / 19

June 21, 2021, 14:31 (GMT)
Cleanup: clang-format
June 21, 2021, 14:31 (GMT)
Armature: add B-Bone Y scale channel and extra flag fields to DNA.

In addition to the base bone transformation itself, B-Bones have
controls that affect transformation of its segments. For rotation
the features are quite complete, allowing to both reorient the
Bezier handles via properties, and to control them using custom
handle bones. However for scaling there are two deficiencies.

First, there are only X and Y scale factors (actually X and Z),
while lengthwise all segments have the same scaling. The ease
option merely affects the shape of the curve, and does not cause
actual scaling.

Second, scaling can only be controlled via properties, thus
requiring up to 6 drivers per joint between B-Bones to transfer
scaling factors from the handle bone. This is very inefficient.

Finally, the Z channels are confusingly called Y.

This commit adds a B-Bone Y Scale channel and extra B-Bone flag
fields to DNA with appropriate versioning (including for F-Curves
and drivers) in preparation to addressing these limitations.

Functionality is not changed, so the new fields are not used
until the following commits.

Differential Revision: https://developer.blender.org/D9870
June 21, 2021, 14:31 (GMT)
DrawManager: Multithreaded counting of material buckets.

When having multiple materials in a mesh the triangles are sorted based
on material index. This sorting is done single threaded, but needs two
loops over the data. One to count the bucket size and the second one to
add the triangles to the right position in the buckets.

This patch will do the counting in a multithreaded approach that would
speed up the cache creation. It has been measured that this part is the
most blocking part of the cache creation.

Reviewed By: mano-wii

Differential Revision: https://developer.blender.org/D11615
June 21, 2021, 14:31 (GMT)
Armature: add automatic B-Bone Scale toggles.

Currently B-Bone scaling can only be controlled via their
properties, thus requiring up to 8 drivers per joint between
B-Bones to transfer scaling factors from the handle bone.

A Scale Easing option is added to multiply the easing value
by the Y scale channels to synchronize them - this produces a
natural scaling effect where both the shape of the curve and
the scale is affected.

In addition, four toggles are added for each handle, which
multiply each of the X, Y, Z and Ease values by the matching
Local Scale channel of the handle bone, thus replacing trivial
drivers. The Scale Easing option has no effect on this process
since it's easy to just enable both Length and Ease buttons.

Differential Revision: https://developer.blender.org/D9870
June 21, 2021, 14:31 (GMT)
UI: Sequencer: Use ampersand instead of slash for "Sequencer/Preview"

Using an ampersand here is more semantically correct. A slash indicates "or" while an ampersand indicates "and".
An ampersand here is best because the view type shows both the Sequencer and the Preview.
June 21, 2021, 14:31 (GMT)
GPencil: Move copy layer settings to function

Better to have a function that can be reused to duplicate the settings that need to be copied.
June 21, 2021, 14:31 (GMT)
GPencil: Missed flag in previous Copy Settings commit

June 21, 2021, 14:31 (GMT)
Fix T89259: GPencil Duplicate point doesn't work for last point

The loop was checking the len of the island, but if the island started in the last point the copy was not executed.
June 21, 2021, 14:31 (GMT)
BMesh: use threading to count total selection.

During selections the total selection is refreshed at the end. This
process was done single threaded. This patch will do a parallel iter
approach.

Master: 0.043612s Threaded 0.017964s.

Master: {F10179586}
This patch: {F10179587}

Reviewed By: mano-wii

Differential Revision: https://developer.blender.org/D11622
June 21, 2021, 14:31 (GMT)
Armature: implement lengthwise scaling of B-Bone segments.

Implement actual behavior for the B-Bone Y Scale channels added
to DNA and UI in the previous commit in addition to the existing
X and Z Scale inputs.

The two length scale inputs control the ratio between the lengths
of the start and end segments of the bone: although for convenience
two inputs are provided, the whole chain is still uniformly scaled
to fit the curve.

Differential Revision: https://developer.blender.org/D9870
June 21, 2021, 14:31 (GMT)
Fix Build Warning

Removal of unused local variable. Calculation of underline thickness
no longer needed with change to text output of underscore character.

Introduced in aee04d496035

Differential Revision: https://developer.blender.org/D11641
June 21, 2021, 14:31 (GMT)
Fix T89246: No Mnemonic Underlines in Dialogs

When drawing mnemonic underlines for hotkeys, use text output of
underscore character instead of direct drawing a line. Otherwise these
are not visible in dialog buttons.

Introduced in 0fcc063fd99c

Differential Revision: https://developer.blender.org/D11641

Reviewed by Campbell Barton
June 21, 2021, 14:31 (GMT)
Cleanup: use 'bmesh' prefix for BMesh tessellation utilities
June 21, 2021, 14:31 (GMT)
Fix T89262: Crash in regular FileBrowser ID listing of 'asset' .blend files.

`ED_fileselect_get_asset_params` would only return actual data pointer
when file browser is in ASSET mode.

Calling that whole section only makes sense if filebrowser is in asset
mode anyway.

Regression introduced in rBf6c5af3d4753 I think.

@Severin committing this fix now as this is a fairly critical bug for
the studio, feel free to revert and do proper fix if this one is not the
best solution.
June 21, 2021, 14:31 (GMT)
Fluid: Clang-format cleanup

Updated fluid source files in extern with clang-format.
June 21, 2021, 14:31 (GMT)
Cleanup: rename test_index_face -> BKE_mesh_mface_index_validate
June 21, 2021, 14:31 (GMT)
Fix T88394: crash when editing animated Alembic properties

When an object, whose mesh gets loaded from Alembic, gets animated in
Blender and the Alembic CacheFile datablock also gets animated, editing
keyframes causes both datablock to be re-copied for evaluation. This
caused a threading issue and a double-free of some memory. This is fixed
by expanding the scope of the spin lock in
`BKE_cachefile_reader_free()`.
June 21, 2021, 14:31 (GMT)
Fix invalid polygon normal array access building bake data

Pre computed normals index wasn't properly aligned.
Regression from 2ec00ea0c1be1ace7cd0c7b68e43cc8e87dd07c7.
June 21, 2021, 14:31 (GMT)
Fix T89240: Crash when moving vertices on a linked duplicate

There is an attempt to free an illegal pointer in `extract_edge_fac_finish`.
June 21, 2021, 14:31 (GMT)
Fix error passing in false as instead of a struct

Error in 8a1860bd9aecddf611b64e3e842bdc8c76f15cc6.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021