Blender Git Loki

Blender Git "soc-2021-porting-modifiers-to-nodes-decimate" branch commits.

Page: 9 / 18

July 30, 2021, 14:56 (GMT)
Assets: Rename workspace active asset library DNA variable

This new variable was introduced with 7898089de3f2. We don't usually use
an `active` prefix variable. Plus, this makes the name match the one of
the Asset Browser active library variable, so we can use the
`rna_def_asset_library_reference_common()` helper for both.

This will cause Asset Views to open with the default "Current File"
Asset Library. We could avoid that, but it's a minor issue really.
July 30, 2021, 14:56 (GMT)
Fix T90017: Bone widget drawing inconsistent with editing

The `lines_loose` extractor did not trigger loose geometry caching.
July 30, 2021, 14:56 (GMT)
Cleanup: Centralize/unify asset library reference from/to enum code

This was an open TODO, I wanted to have code for translating asset
library references from and to enum values in a central place, and
access that in the same way from both the Asset Browser and the
Workspace RNA code.

* Adds own file for the related functions.
* Adds doxygen comments.
* Updates RNA callbacks to properly use these functions.
* Let these functions call each other, avoid duplicating logic.
July 30, 2021, 14:56 (GMT)
Fix incorrect use of BLI_assert with error strings

Some asserts were never raised because of invalid checks.
July 30, 2021, 14:56 (GMT)
Draw Cache: extract tris in parallel ranges

The `ibo.tris` extraction in multithread is currently only done if the
mesh has only 1 material.

Now we cache a map indicating the index of each polygon after sort and
thus allow the extraction of tris with materials in multithreaded.

As caching is a heavy operation and was already being performed in
multi-thread for triangle offsets, no significant improvements are
expected.

The benefit will be much greater when we can skip updating the cache
while transforming a geometry.

**Profiling:**
||master:|PATCH:
|---|---|---|
|large_mesh_editing_materials:|Average: 13.855380 FPS|Average: 15.525684 FPS
||rdata 9ms iter 36ms (frame 71ms)|rdata 9ms iter 29ms (frame 64ms)
|subdiv_mesh_final_only_materials:|Average: 28.113742 FPS|Average: 28.633599 FPS
||rdata 0ms iter 1ms (frame 36ms)|rdata 0ms iter 1ms (frame 35ms)

1.1x overall speedup

Differential Revision: https://developer.blender.org/D11445
July 30, 2021, 14:56 (GMT)
Tests: continue running benchmarks if some tests fail to build or run

Convenient when testing many revisions where some might be broken.
July 30, 2021, 14:56 (GMT)
Cleanup: Add missing doxygen file/group comment in new asset file
July 30, 2021, 14:56 (GMT)
Cleanup: Silence warning - unused parameter
July 30, 2021, 14:56 (GMT)
Bump subversion to avoid infinite enabling pose_library add-on

Bump Blender's sub-version to make sure the pose_library add-on isn't
auto-enabled on every run of Blender.
July 30, 2021, 14:56 (GMT)
Assets: Replace duplicated asset library reference type from DNA

Since recently it's possible to access assets from outside the
File/Asset Browser, via the asset view template. So we are slowly
moving away from file space specific code to dedicated asset system
code. I introduced `AssetLibraryReference` as a duplicate of
`FileSelectAssetLibraryUID`, with a plan to delete the latter in a
separate cleanup commit. That's exactly what this commit is.

This will cause Asset Browsers to open with the default "Current File"
Asset Library. We could avoid that, but it's a minor issue really.
July 30, 2021, 14:56 (GMT)
Tests: improve finding of Blender executables in benchmarking

* Allow specifying a folder and automatically setting the proper executable
name depending on the operating system
* Use executables from configs for listing devices instead of a blender
command being available
July 30, 2021, 14:56 (GMT)
Cleanup: Move loose geometry cache creation to render data task

This centralizes caching functions.
July 30, 2021, 14:56 (GMT)
Cleanup: Split set_preview_visibilty.
July 30, 2021, 14:56 (GMT)
Fix T89982: Geometry Nodes: 'New' Button tries to create node_tree on active modifier, rather than button context

When done from the Properties Editor, the context's modifier should be
used (this is where the button is located), when done from elsewhere,
the active modifier is still the way to go (since the context modifier is
not available then)

Maniphest Tasks: T89982

Differential Revision: https://developer.blender.org/D11972
July 30, 2021, 14:56 (GMT)
Cleanup: Remove redundant forward declarations.
July 30, 2021, 14:56 (GMT)
Cleanup: replace BLI_assert(!"text") with BLI_assert_msg(0, "text")
July 30, 2021, 14:56 (GMT)
Pose Library: remove assumption about Action group names

Remove the assumption of the pose library that Action groups are named
after the bones in the armature. Even though this assumption is correct
when the keys are created by Blender, action groups can be renamed. Keys
created by Python scripts can also use arbitrary group names.

Since there is more code in Blender making this assumption, and looping
over selected bones is also a common occurrence, this commit contains
some generic functionality to aid in this:

- `BKE_armature_find_selected_bones`: function that iterates over all
bones in an armature and calls a callback for each selected one. It
returns a struct with info about the selection states (all or no bones
selected).
- `BKE_armature_find_selected_bone_names(armature)` uses the above
function to return a set of selected bone names.
- `BKE_pose_find_fcurves_with_bones()` calls a callback for each FCurve
in an Action that targets a bone, also passing it the bone name.
July 30, 2021, 14:56 (GMT)
Armature test: properly initialize bone hierarchy

Fix segfault in `BKE_armature_find_selected_bones_test` by property
initializing the bone hierarchy listbases.

No functional changes to Blender.
July 30, 2021, 14:56 (GMT)
Cleanup: reserve C++ comments for disabled code

Use C comments for plain text.
July 30, 2021, 14:56 (GMT)
Cleanup: Use const for internal file data of asset-handle

Note that the current asset-handle design is temporary, see
35affaa971cf. I still prefer this to be const, as code outside the
asset-list/file-list code should never mess with the file data of an
asset.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021