Blender Git Commits

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

Page: 11 / 26

July 30, 2021, 14:56 (GMT)
Fix name used when parsing arguments
July 30, 2021, 14:56 (GMT)
Another slight increase in speed for Delaunay CDT.

When the new "need_ids" flag is false and the output type is not
one of the valid BMesh kinds, there is no need to propagate even
a dummy id to all of the faces.
July 30, 2021, 14:56 (GMT)
Versioning: move "until next subveresion bump" code

Move "until next subveresion bump" code into the 300.13 version block.
This should have happened in rB8d5b9478a25.
July 30, 2021, 14:56 (GMT)
Cleanup: replace BLI_assert(test || !"text") with BLI_assert_msg(test, text)
July 30, 2021, 14:56 (GMT)
Make polls for removing mesh data layers consistent

This was reported in T90026 for attributes, but was also true for:
- UVMaps
- Vertex Colors
- Sculpt Vertex Colors
- Face Maps

For Vertex groups and Shapekeys this was already done (in that their
remove poll would check if there is a vertex group or shapekey to begin
with), now make this consistent across all mentioned types.

Thx @vvv for the initial patch (where this was done for attributes only)

ref T90026

Reviewed By: HooglyBoogly

Maniphest Tasks: T90026

Differential Revision: https://developer.blender.org/D11990
July 30, 2021, 14:56 (GMT)
Cleanup: Move reorganize asset files

I'm trying to move away from general files with lots of things in them,
and instead have many small & focused files. I find that easier to
work with since everything has clear responsibilities, even if there is
some minor overhead in managing all these files.
I also try to differentiate more clearly between public and internal
files. So source files and internal headers are in a `intern/`
sub-directory, public functions are in a number of headers one level
higher.
For convenience and to make this compatible with our existing general
headers in `editors/include`, I made the `ED_asset.h` there include all
these public headers.
This is of course a bit of an experiment, let's see how it works in
practice.

Also corrected the name of `ED_asset_can_make_single_from_context()`.
July 30, 2021, 14:56 (GMT)
Fix T89733: Py API: bpy.data.orphans_purge argument parsing

On Windows, using `bpy.data.orphans_purge` with some arguments (eg: `do_recursive=True`) does not produce the expected results. This is due to arguments not being parsed correctly on this platform with the current code.

The proposed fix is based on how other functions with boolean attributes are exposed to the Python API.

Reviewed By: #python_api, mont29

Maniphest Tasks: T89733

Differential Revision: https://developer.blender.org/D11963
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.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021