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) |
|