Commit Graph

133327 Commits

Author SHA1 Message Date
Campbell Barton 86954de57a RNA: move the read-only extension "directory" to RNA
This allows it to be exposed in the user interface when the
custom-directory is disabled without having to use a label which can't
handle non UTF-8 characters which file-paths can contain.
2024-02-23 14:57:05 +11:00
Campbell Barton 292b39b7f4 Tests: update default library path for batch blendfile loader 2024-02-23 14:57:05 +11:00
Harley Acheson d379897019 UI: Improvements to Confirmation of Unpack Linked Libraries
A more informative confirmation dialog to confirm that the user wishes
to unpack linked libraries.

Pull Request: https://projects.blender.org/blender/blender/pulls/117154
2024-02-23 02:02:55 +01:00
Ray Molenkamp b20f29bd04 Merge remote-tracking branch 'origin/blender-v4.1-release' 2024-02-22 17:55:59 -07:00
Hans Goudey c5d855b497 Cleanup: Use C++ function callbacks for some UI widgets
Use std::function instead of separately allocated arguments and
function pointers. This improves type safety and makes the code less
verbose. It also moves us closer to not having two methods of adding
button callbacks.
2024-02-22 15:53:05 -05:00
Hans Goudey fdc367f842 Cleanup: Use Vector instead of linked list for data-block sorting utility 2024-02-22 15:34:21 -05:00
Ray Molenkamp ced066e0c8 make.bat: add additional messaging for the libs download
git on windows is giving no status updates while git lfs
is downloading the libs, causing people to assume its
stuck and interrupt the download. This change adds a
rather large visual message telling people not to do
that.

also it was not respecting people selecting n on the lib
download so some extra messaging has been added there
as well.
2024-02-22 13:09:34 -07:00
Bastien Montagne 01dc67dcc9 Merge branch 'blender-v4.1-release' 2024-02-22 20:07:20 +01:00
Bastien Montagne ea10be4dd6 install_linux_packages: Add git-lfs to 'build essentials'.
Also define git package for Suse, not sure why it was left unset.
2024-02-22 20:05:22 +01:00
Bastien Montagne b42dc08452 Merge branch 'blender-v4.1-release' 2024-02-22 19:56:59 +01:00
Sergey Sharybin 987e342023 Update submodule hashes
Point to commit with an update gitignore file.
2024-02-22 19:28:49 +01:00
Sergey Sharybin 0b70ee5861 Merge branch 'blender-v4.1-release' 2024-02-22 19:27:04 +01:00
Bastien Montagne 1dca5af712 Core: Libraries: Fix library parenting when libraries are deleted.
So far, when deleting a library (either explicitely, or through e.g.
relocation), its dependencies would get a `nullptr` parent, and
therefore become 'directly used' libraries.

This commit adds a new util to rebuild the libraries hieararchy, and
calls it when a Library ID is deleted.

NOTE: While logic is somewhat similar to what liboverride resync does to
sort the libraries by indirect levels
(`lib_override_libraries_index_define`), there are some key differences
here, notably the fact that if a library has a valid `parent` pointer,
it is not replaced, even if a 'better' parent (less indirect library)
could be found.
2024-02-22 19:25:59 +01:00
Sergey Sharybin dc2ec78f1d Update submodule hashes
Point to commit with an update gitignore file.
2024-02-22 19:25:12 +01:00
Brecht Van Lommel b0b1c55a49 Merge branch 'blender-v4.1-release' 2024-02-22 19:08:48 +01:00
Alaska 56bfd56735 Fix: Cycles incorrect rendering of certain negative strength lights
This fixes an issue where lights that make use of constant negative strength
emission shaders would render with the absolute of their strength.

Pull Request: https://projects.blender.org/blender/blender/pulls/118541
2024-02-22 19:06:22 +01:00
Aras Pranckevicius db70f08317 Release: update license versions of lzma and fmt 2024-02-22 20:04:45 +02:00
Hans Goudey c78d668f17 Cleanup: Simplify iteration of corners in face in one case
No need to reconstruct the IndexRange. Also use the more
standard name "corner".
2024-02-22 12:59:06 -05:00
Hans Goudey caf567e241 Cleanup: Resolve unused variable warning in GHOST EGL code 2024-02-22 12:45:57 -05:00
Ray Molenkamp 95baf98745 Merge remote-tracking branch 'origin/blender-v4.1-release' 2024-02-22 10:42:11 -07:00
Ray Molenkamp f0bbb0266a make.bat: fix make update not working properly
Git escaped a quote and used all of the cli arguments as the
folder name.

Also fixes:
- Progress on the initial clone so it doesn't appear stuck
- re-detect python after updating libs, so you don't have to run
  make update twice on a fresh clone.
- Hide python not found warning unless the lib folder exists (this
  seemingly got lost in one of the merges)
2024-02-22 10:40:25 -07:00
Sean Kim 41cfb379af Cleanup: Remove unused SCULPT_OT_set_detail_size operator
This PR removes the unused `SCULPT_OT_set_detail_size` operator and related code.

Addresses cleanup of #108111 now that #118403 is merged in.

Pull Request: https://projects.blender.org/blender/blender/pulls/118591
2024-02-22 18:20:16 +01:00
Weizhen Huang a3f0ff6184 Cycles: make Principled Hair Huang a near- and far-field model
for a camera ray, compute the actual range of the hair width that the
current pixel covers, and only integrate that subset, to prevent a
ribbon-like appearance in close-up looks.
When the hair covers less than one pixel on the screen or when the ray
is not camera ray, the model works the same as before.

Pull Request: https://projects.blender.org/blender/blender/pulls/116094
2024-02-22 18:18:14 +01:00
Weizhen Huang 8a47c6b169 Cleanup: simplify computation of h_to_gamma() in Principled Hair Huang 2024-02-22 18:18:13 +01:00
Weizhen Huang 1906a14cf3 Refactor: pre-compute valid integration interval in Principled Hair Huang
The valid interval from incoming direction was shared between
`...eval_r()` and `...eval_residual()`, so compute that in `...eval()` instead.
The valid interval from outgoing direction was computed for
`...eval_r()` to further reduce the integration interval. This part is
removed because the check `dot(wo, wm) > 0` is relatively cheap inside the loop.
2024-02-22 18:18:13 +01:00
Weizhen Huang c592fa14f1 Cycles: adjust normal in Principled Hair Huang to be orthogonal to the tangent
The geometry normal of the curve might not be precisely orthogonal to
the tangent due to interpolation. Previously, the tangent was adjusted
to be orthogonal to the normal. However, the normal is linearly
interpolated, which is less accurate than the tangent computed using Catmull-Rom.
This commit keeps the tangent and adjust the normal instead, besides
better accuracy, it ensures a smooth transition when the cross-section
shifts between circular and elliptical.
2024-02-22 18:18:13 +01:00
Brecht Van Lommel 5810b6bcde Icons: Update for now toolbar icons blend file location 2024-02-22 18:04:12 +01:00
Jeroen Bakker 17842d4d40 Fix: CustomData crash in debug builds with empty name
Due to a recent change the name of a layer is passed using a string ref
but the check if it is filled was done by checking if the first char
was zero. This fails as string ref first does the bound checks.

This is fixed by using `!is_empty()`. There might be more places, but this
one fired when loading production files.

Issue introduced by a39e8a4ab9

Pull Request: https://projects.blender.org/blender/blender/pulls/118605
2024-02-22 18:01:06 +01:00
Hans Goudey 77cba3d551 Geometry Nodes: Sample grid node
This simple node finds the values of a volume grid at
positions in the local space used in geometry nodes
evaluation. There are three interpolation modes to
choose how to mix values between neighboring voxels.

For the implementation, first the values are sampled
with the grid's type directly, then implicit type conversions
are used to get the final type. This makes gives us flexibility
in case there aren't exact matches in support between grid
types and Blender types.

Pull Request: https://projects.blender.org/blender/blender/pulls/118397
2024-02-22 17:58:09 +01:00
Hans Goudey 6099252dd4 Instances: Move transforms to attribute
Similar to 2e6223d90f, but potentially 16 times more effective.
The new attribute is named "instance_transform". It isn't displayed in the
spreadsheet since that wouldn't really be useful. This simplifies a lot of
code since it doesn't have to handle transforms specially anymore. But
complexity is added in the store named attribute node and attribute input
node to keep the old "position" attribute working for compatibility.

Pull Request: https://projects.blender.org/blender/blender/pulls/118531
2024-02-22 17:57:09 +01:00
Richard Antalik d4925b9775 Cleanup: Refactor VSE movie loading
Original code was very confusing, with seemingly indecisive logic.
I hope, that it is less confusing now, however there is still some
indecisiveness present. This is because multiview configuration may not
be correct, so there must be fallback and only some multiview settings
require loading of multiple files. Perhaps be better wording could be
used for `open_anim_file_multiview()`.
Fortunately this is now expressed within 5 lines of code instead of 100.

Further this can be improved by checking if the file exists, since now
VSE crashes when right eye image is missing, because loading code
does not try to actually open the file.

Pull Request: https://projects.blender.org/blender/blender/pulls/118580
2024-02-22 17:48:40 +01:00
Weizhen Huang 1d8ec32473 Fix Cycles area light using MIS when the spread is zero
area light with zero spread was introduced in bf18032977. Such paths can
only be sampled with NEE, so MIS should not be used.
This fixes the discrepancy when Direct Light Sampling is set to MIS or NEE.

Pull Request: https://projects.blender.org/blender/blender/pulls/118584
2024-02-22 17:10:46 +01:00
Sergey Sharybin 3aa6c16171 Merge branch 'blender-v4.1-release' 2024-02-22 16:52:32 +01:00
Sergey Sharybin ffd68db5f4 Fix file name being stored in the view layers CMakeLists 2024-02-22 16:51:46 +01:00
Brecht Van Lommel ba59f6a26e Tests: Update microfacet hair reference render for changes 2024-02-22 16:50:51 +01:00
Falk David 6bc2f6c6d5 Merge branch 'blender-v4.1-release' 2024-02-22 16:44:30 +01:00
Falk David c7f2a0567e Cleanup: Rename ensure_git_lfs_hooks to ensure_git_lfs
Since the function no longer adds hooks and skips the process deliberatly, the function name doesn't make sense.
Rename to `ensure_git_lfs`.

Pull Request: https://projects.blender.org/blender/blender/pulls/118626
2024-02-22 16:43:33 +01:00
Sergey Sharybin 1e88fd6050 Merge branch 'blender-v4.1-release' 2024-02-22 16:08:14 +01:00
Sergey Sharybin 6e26ee822b Tweak mnake update's LFS installation further
Ensure the filters are installed, but not the hooks.
Should fix the original issue of developers using custom
hooks in the repository.
2024-02-22 16:06:11 +01:00
Sergey Sharybin a9cd57e246 Merge branch 'blender-v4.1-release' 2024-02-22 15:58:00 +01:00
Sergey Sharybin 4f567fdc34 Update tests/data submodule
Point it to an updated state with proper gitignore.
2024-02-22 15:56:44 +01:00
Sergey Sharybin dddafe428e Merge branch 'blender-v4.1-release' 2024-02-22 15:52:15 +01:00
Sergey Sharybin 44e121e8c7 Fix URL in previous commit
Need to use pushURL for comparison, not the pull URL.
2024-02-22 15:51:44 +01:00
Sergey Sharybin 3203f534f4 Merge branch 'blender-v4.1-release' 2024-02-22 15:48:57 +01:00
Sergey Sharybin df0e64f7d8 Fix incorrect pushURL set on the submodules 2024-02-22 15:48:41 +01:00
Weizhen Huang 69f26a7c18 Fix assigning value to nullptr 2024-02-22 15:45:33 +01:00
Sergey Sharybin 2916c8ca96 Merge branch 'blender-v4.1-release' 2024-02-22 15:20:02 +01:00
Sergey Sharybin 520a08a286 Fix make update in systems with manually installed hooks
If LFS hooks are installed manually the automatic installation would
fail.

This change makes it so `lfs` is a valid command of `git`, ensuring
that the package is installed. If the installation fails assume it
is due to tricky local setup, and do not fail.

Pull Request: https://projects.blender.org/blender/blender/pulls/118618
2024-02-22 15:16:01 +01:00
Brecht Van Lommel 624e0b1519 Merge branch 'blender-v4.1-release' into main 2024-02-22 15:12:40 +01:00
Brecht Van Lommel eadfda30e6 Fix: make format and make deps not using new lib directory 2024-02-22 15:11:44 +01:00