September 27, 2021, 16:16 (GMT) |
Geometry Nodes: Distribute points once per instance reference With this commit, the distribute points on faces node runs only once for every unique mesh in its input. That means if there are 100 instances of the same mesh, it will only run once. This basically reverts rB84a4f2ae68d408301. The optimization there didn't end up being worth it in the end, since it complicates code quite a lot. It's also incompatible with this method of dealing with instances, and it breaks field evaluation for instances, where we would have to make sure to handle each instance transform properly otherwise, evaluating the field separately for every instance. Differential Revision: https://developer.blender.org/D12630 |
September 27, 2021, 16:14 (GMT) |
Cleanup use `nullptr` not `NULL` in C++ code |
September 27, 2021, 16:14 (GMT) |
Cleanup: Asset catalogs, fix clang-tidy warning Change `auto &catalog` to `const auto &catalog`. No functional changes. |
September 27, 2021, 16:14 (GMT) |
Asset Catalogs: write catalogs to disk when saving the blend file The Asset Catalog Definition File is now saved whenever the blend file is saved. The location of the CDF depends on where the blend file is saved, and whether previously a CDF was already loaded, according to the following rules. The first matching rule wins: 1. Already loaded a CDF from disk? -> Always write to that file. 2. The directory containing the blend file has a `blender_assets.cats.txt` file? -> Merge with & write to that file. 3. The directory containing the blend file is part of an asset library, as per the user's preferences? -> Merge with & write to `${ASSET_LIBRARY_ROOT}/blender_assets.cats.txt` 4. Create a new file `blender_assets.cats.txt` next to the blend file. |
September 27, 2021, 16:10 (GMT) |
BLI Path: add function `BLI_path_contains()` Add function `BLI_path_contains(container, containee)` that returns true if and only `container` contains `containee`. Paths are normalised and converted to native path separators before comparing. Relative paths are *not* made absolute, to simplify the function call; if this is necessary the caller has to do this conversion first. |
September 27, 2021, 16:10 (GMT) |
BKE Preferences: find asset library containing a path Add `BKE_preferences_asset_library_containing_path(&U, some_path)` that finds the asset library that contains the given path. This is a simple linear search, returning the first asset library that matches. There is no smartness when it comes to nested asset libraries (like returning the library with the best-matching path), although this could be a useful feature to add later. |
September 27, 2021, 16:09 (GMT) |
Fix T91691: Selecting "Remove unused slots" in Materials panel removes slots that are assigned to particle systems/hair. `BKE_object_material_slot_used` would only check obdata usages, but particle settings can also (weirdly enough) use objects' material slots. So now, as its name suggests, `BKE_object_material_slot_used` does take an object as parameter, and also checks for potential slot usage from psys in the object. |
September 27, 2021, 16:09 (GMT) |
Let UI show the active default catalog Basically, rather than only letting the UI code set a new active catalog, also always check what the current value is when constructing the tree. This makes the "All" catalog selected by default, but also let's the UI update properly if the active catalog is changed from the outside (e.g. via BPY). |
September 27, 2021, 16:00 (GMT) |
Sync to master The added files were not intended to be committed/pushed. And apparently there's a leftover from a merge conflict. |
September 27, 2021, 15:54 (GMT) |
Adapt to changes in master |
September 27, 2021, 15:53 (GMT) |
Merge branch 'master' into temp-asset-browser-catalogs-ui |
September 27, 2021, 15:49 (GMT) |
Assets: Additions/fixes to the catalog system in preparation for the UI * Fixes missing update of the catalog tree when adding catalogs. * Adds iterators for the catalogs, needed for UI code. * Store catalog ID in the catalog tree items, needed for UI code. * Other smaller API additions for the UI. * Improve comments and smaller cleanups. New functions are covered with unit tests. Differential Revision: https://developer.blender.org/D12618 Reviewed by: Sybren St�vel |
September 27, 2021, 15:40 (GMT) |
Fix T91728: Cycles render artifacts with motion blur and object attributes |
September 27, 2021, 15:36 (GMT) |
Asset Catalog Tests: unnecessary use of temp dir Remove unnecessary use of temp directories in the Asset Catalog unit tests, so that the test doesn't try and clean up a directory that doesn't exist. |
September 27, 2021, 15:35 (GMT) |
Geometry Nodes: add utility to process all instances separately This adds a new `GeometrySet::modify_geometry_sets` method that can be used to update each sub-geometry-set separately without making any instances real. Differential Revision: https://developer.blender.org/D12650 |
September 27, 2021, 15:29 (GMT) |
Another fix for BLI_path_contains on Windows |
September 27, 2021, 15:22 (GMT) |
Add '+' icon for "All" item to allow adding top-level items Before this, there was no way to create a catalog tree from scratch, or to add new top-level items. |
September 27, 2021, 15:20 (GMT) |
Viewport Compositor: Support alpha over factor |
September 27, 2021, 15:18 (GMT) |
Hopefully fix asset catalog test on Windows |
September 27, 2021, 15:18 (GMT) |
Hopefully fix `BLI_path_contains()` on Windows |
|
|
|


Master Commits
MiikaHweb | 2003-2021