Commit Graph

150077 Commits

Author SHA1 Message Date
nutti
848ec77911 Fix: PyDocs: Title inconsistency on bpy.types.USDHook
Due to 8285d2d, titles "Inherited Properties" and "Inherited Functions" become hidden.
This PR fixes this issue.

Pull Request: https://projects.blender.org/blender/blender/pulls/132481
2025-01-01 07:40:37 +01:00
Jesse Yurkovich
95be928c5e Fix: MaterialX: Use correct output node type
The output node types were seemingly incorrect since the initial commit
and would produce incorrect MaterialX documents[1]. When MaterialX is
upgraded to 1.38.10 this will now fail material creation in Hydra.

Use the node type directly instead of setting things to their default
`color3` output type.

[1] See PR for an example.

Pull Request: https://projects.blender.org/blender/blender/pulls/132362
2024-12-31 23:39:20 +01:00
Hans Goudey
6bfb6399ea Fix #132075: Realize instances crash with vertex group inputs
Caused by 84c7684871.

Previously we could count on adding the attributes to the result mesh
not failing. Now, since the vertex group names are copied, they might
fail because a name would cause the attribute to already exist with a
float type on the point domain, which might not match the most
complex domain/type we'd use otherwise.

The fix is to only create attributes as vertex groups if the domain and
type combination from all the input meshes is correct.

Pull Request: https://projects.blender.org/blender/blender/pulls/132506
2024-12-31 22:16:29 +01:00
Hans Goudey
11e97bd593 Fix: Assert for material span size after recent cleanup
Caused by 6871fe8415.

The assert was harmless, the array of null pointers was just longer
than necessary.
2024-12-31 15:13:56 -05:00
Ray Molenkamp
2f0fc7fc9f Cleanup: CMake: clean sequencer's CMakeLists.txt
- Remove animrig include, replace with lib dependency
- mark internal include as private

Pull Request: https://projects.blender.org/blender/blender/pulls/132502
2024-12-31 21:07:54 +01:00
Brecht Van Lommel
6a15f301ef Revert "Fix: Missing super().__del__() in Cycles and Hydra render engine"
This is leading to "'super' object has no attribute '__del__'" errors
in some situations. As explained in #132476 this is only for future
proofing, so don't do it yet.

This reverts commit f301952b6a.
2024-12-31 19:30:39 +01:00
Ray Molenkamp
0dc484f9cc Cleanup: CMake: Modernize bf_rna dependencies
Pretty straightforward

- Remove any bf_rna paths from INC
- Add a dependency though LIB when missing

context: https://devtalk.blender.org/t/cmake-cleanup/30260

Pull Request: https://projects.blender.org/blender/blender/pulls/132413
2024-12-31 18:23:25 +01:00
Hans Goudey
455326fd67 Fix #132488: Crash drawing edge attribute in sculpt mode 2024-12-31 09:44:16 -05:00
Brecht Van Lommel
3eeacfeb57 Fix: ASAN warnings in light and light tree build
Avoid division by zero and NaN. Should be no functional changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/132471
2024-12-31 15:22:22 +01:00
Brecht Van Lommel
56b7d43887 Fix: Cycles crash when using denoising in build without OIDN
We could try to prevent these parameters to be set earlier in Blender
sync, but I think it's better to handle for all integrations.

Pull Request: https://projects.blender.org/blender/blender/pulls/132477
2024-12-31 15:19:31 +01:00
Brecht Van Lommel
f301952b6a Fix: Missing super().__del__() in Cycles and Hydra render engine
According to the Python API release notes, this is required now along
with super().__init__() which was already done.

Also fixes mistake in example in API docs.

Pull Request: https://projects.blender.org/blender/blender/pulls/132476
2024-12-31 15:18:25 +01:00
Thomas Dinges
c3a7acd034 Tools: Print query URL for modules with 0 reports too. 2024-12-31 13:15:30 +01:00
Sergey Sharybin
ba4bebd087 Fix: Crash in Cycles when OCIO config can not be created
Was originally reported in Blender Chat about Cycles standalone
that it will crash when the wrong OCIO configuration path was provided.

More gracefully handle this situation and log a warning instead,
similar to the handling of missing color spaces in the configuration.

The OCIO configuration access could raise an exception when, for example,
the file is missing:

```
ConstConfigRcPtr Config::CreateFromFile(const char * filename)
{
    if (!filename || !*filename)
    {
        throw ExceptionMissingFile ("The config filepath is missing.");
    }
    ...
```

Pull Request: https://projects.blender.org/blender/blender/pulls/132479
2024-12-31 10:28:46 +01:00
Sergey Sharybin
36aa819396 Fix: Uninitialized last intersection type in Cycles
It is unknown to cause any actual problems, but it makes it harder
to read certain debug logs (like the ones from valgrind).

Pull Request: https://projects.blender.org/blender/blender/pulls/132450
2024-12-31 10:26:21 +01:00
Sergey Sharybin
ba4c79feee Fix: Huang hair sampling does not advance LCG
The reason for this probably was the const nature of the shader data.
However, this is something counter-intuitive, as it potentially leads
to multiple BSDFs re-using the same LCG state.

Pull Request: https://projects.blender.org/blender/blender/pulls/132456
2024-12-31 10:25:19 +01:00
Hans Goudey
39f7c506b5 Refactor: Tweak draw_pbvh.cc code organization
With the goal of removing the type and custom data domain from
the attribute requests, tweak the order of the calls to ensure that
each vertex buffer is allocated until after we know about the source
mesh data format. After that, it makes more sense to have the loop
over BVH nodes inside each extraction function.

Pull Request: https://projects.blender.org/blender/blender/pulls/132467
2024-12-31 01:06:00 +01:00
Brecht Van Lommel
aa97467f6f Fix: Random crash in Cycles BVH2 build
Could occasionally happen for GPU rendering without hardware ray-tracing,
depending on thread timing.
2024-12-31 00:50:44 +01:00
Brecht Van Lommel
c82536673e Fix: ASAN warning due to wrong and unnecessary cast 2024-12-31 00:50:44 +01:00
Brecht Van Lommel
4453ca25b4 Fix: Cycles table precompute app build failure 2024-12-31 00:50:44 +01:00
Brecht Van Lommel
fe368edbb3 Fix: Cycles lite build failure without Pugixml 2024-12-31 00:50:44 +01:00
Brecht Van Lommel
58aec853e9 Fix: Cycles standalone link failure on macOS 2024-12-31 00:50:44 +01:00
Brecht Van Lommel
068a765271 Cleanup: Hydra compiler warnings 2024-12-31 00:50:44 +01:00
Brecht Van Lommel
7e9a48eb98 Cleanup: ATTR_RADIUS unused warning with clang 2024-12-31 00:50:43 +01:00
Brecht Van Lommel
d3d19724d8 CLeanup: Guard against import set_rpath.py as a module
Avoids errors with the system python test.
2024-12-31 00:20:49 +01:00
Brecht Van Lommel
00a51b18b7 Fix: System python test failure after #132432
The text keyword is an alias of universal_newlines, and was introduced
in newer Python versions.
2024-12-31 00:20:32 +01:00
Hans Goudey
fbc5710ddd Cleanup: Formatting 2024-12-30 14:56:50 -05:00
feelamee
5920b157f6 install_linux_packages: fallback to doas if sudo is not found
Just convenience change to increase UX for little part of linux users, who love `doas`)

P.S.: doas is...
> Like sudo, doas is used to assume the identity of another user on the system.

from https://wiki.archlinux.org/title/Doas

Pull Request: https://projects.blender.org/blender/blender/pulls/132432
2024-12-30 20:22:31 +01:00
Hans Goudey
6871fe8415 Cleanup: Use Span for GPU batch array
Pull Request: https://projects.blender.org/blender/blender/pulls/132464
2024-12-30 18:55:23 +01:00
Hans Goudey
7366dc1edb Cleanup: Remove unused draw cache function declarations 2024-12-30 12:12:23 -05:00
Hans Goudey
2f0d1a52f9 Cleanup: Formatting 2024-12-30 11:37:25 -05:00
Hans Goudey
e8adf05b1b Cleanup: Move data transfer enum to more specific header 2024-12-30 11:18:39 -05:00
Hans Goudey
645624130d Cleanup: Simplify creation of mesh for particle system conversion 2024-12-30 11:13:47 -05:00
Hans Goudey
e8db6b9966 Cleanup: Use attribute API for Alembic crease import 2024-12-30 11:13:47 -05:00
Hans Goudey
dacc9455ba Cleanup: Remove unused color math functions
Unused for at least 14 years.
2024-12-30 11:13:47 -05:00
Omar Emara
9baa10f2ae Compositor: Add default accessors for single value results
Add an accessor for single value results that can return a default value
for non single value results.
2024-12-30 18:08:33 +02:00
Hans Goudey
973fb062a0 Cleanup: Move data_transfer_intern.h to C++
Pull Request: https://projects.blender.org/blender/blender/pulls/132461
2024-12-30 17:03:48 +01:00
Alaska
64bd2e79ea Cycles: Expose Adaptive Compile debug options for Metal and HIP in the UI
Cycles supports a feature known as "Adaptive Compile" which will
compile the GPU kernel at runtime with only the features neccesary
for the current scene.

This is primarily used for debugging purposes and is not advised for
general use, because it's not well tested/maintained and leads to
frequent kernel recompilation which can take a long time and interupt
your workflow.

This commits exposes the option to turn this feature on
for the HIP and Metal backends in the Cycles debug UI panel.

Pull Request: https://projects.blender.org/blender/blender/pulls/132459
2024-12-30 16:45:02 +01:00
Bastien Montagne
694fd3bf4b Fix Alembic importer generating invalid edge crease values.
Conversion from [0-1] float value ranges to [0-255] integer char ones
was left in Alembic importer, when the internal Blender storage for
these values was converted from a char in the old `MEdge` struct to a
regular float attribute.
2024-12-30 16:25:30 +01:00
Bastien Montagne
62b84f4eab I18N: updated UI translations from git/weblate repository (60566c7b2accdf). 2024-12-30 16:25:29 +01:00
Michael Kowalski
9abe161b58 USD: USDHook.py format fix 2024-12-30 10:17:35 -05:00
Michael Kowalski
8285d2d82e USD: update USDHook.py example
Updated the example to include new hook functions
material_import_poll and on_material_import as well
as the new import_texture and export_texture
utilities which were introduced in #131559.

Also reformatted the existing documentation to include
subheaders and internal links, as the previous paragraph
format became difficult to follow.

Pull Request: https://projects.blender.org/blender/blender/pulls/132259
2024-12-30 15:50:08 +01:00
Jesse Yurkovich
eb39d81afa Fix #132396: Orbit Gizmo navigation used wrong math operation
Regression from 3d0988a719 where two adds
were accidentally changed to subtracts.

Pull Request: https://projects.blender.org/blender/blender/pulls/132440
2024-12-30 02:55:52 +01:00
Jonas Holzman
f6bbcaba6d UI: Improve Studio Lights Editor layout
Improve the Studio Lights Editor Preferences panel by replacing the
current column layout (which looks very horizontally compressed using
the default Preferences window size) by a grid flow layout with boxes.

Pull Request: https://projects.blender.org/blender/blender/pulls/132425
2024-12-30 00:40:07 +01:00
Ray Molenkamp
de3accb68a Cleanup: CMake: Modernize bf_draw dependencies
Pretty straightforward

- Remove any bf_draw paths from INC
- Add a dependency though LIB when missing

context: https://devtalk.blender.org/t/cmake-cleanup/30260

Pull Request: https://projects.blender.org/blender/blender/pulls/132411
2024-12-28 21:38:19 +01:00
Ray Molenkamp
95c1a5e4fe Cleanup: CMake: Modernize bf_imbuf_movie dependencies
Not entirely straightforward, some manual edits were done since when
this library was created, some of the work was already done.

- Remove any bf_imbuf_movie paths from INC
- Add a dependency though LIB when missing
- Add public dependency to bf_imbuf in bf_imbuf_movie since it uses the
  imbuf headers in its public headers.
- Fix namespace not to have underscores

context: https://devtalk.blender.org/t/cmake-cleanup/30260

Pull Request: https://projects.blender.org/blender/blender/pulls/132407
2024-12-28 20:53:18 +01:00
Ray molenkamp
10c5493746 Cleanup: CMake: Modernize bf_geometry dependencies
Pretty straightforward

- Remove any bf_geometry paths from INC
- Add a dependency though LIB when missing

context: https://devtalk.blender.org/t/cmake-cleanup/30260

Pull Request: https://projects.blender.org/blender/blender/pulls/132375
2024-12-28 19:58:14 +01:00
Alaska
dd5a1522b7 Tests: Speed up volume render tests
In a previous commit I accidentally added a test that had
these properties:
- High resolution (512x512)
- High sample count (512)
- Had high quality denoising enabled

By reducing the resolution to 128x128 and sample count to 32
and disabling denoising, the test will hopefully be 256x faster.
2024-12-28 06:27:46 +01:00
Alaska
8efd41271d Compositor: Add OIDN Quality to denoise node
This commit exposes the "Quality" option of the Open Image Denoiser
to the user for the denoise node in the compositor.

There are a few quality modes:
- High - Highest quality, but takes the longest to process.
- Balanced - Slightly lower quality, but usually halves
the processing time compared to High.
- Fast - Further reduce the quality, for a small increase in
speed over Balanced.

Along with that there is a `Follow Scene` option which will use the
quality set in the scene settings.

This allows users that have multiple denoise nodes
(E.g. For multi-pass denoising), to quickly switch all nodes between
different quality modes.

Performance (denoising time):
High: 13 seconds
Balanced: 6 seconds
Fast: 5 seconds

Test setup:
CPU: AMD Ryzen 9 5950X
Denoising a 3840x2160 render

---

Follow ups:
Ideally the "Denoise Nodes" UI panel in the render properties panel
would be hidden if the compositor setup does not contain any
denoise nodes.

However implementing this efficiently can be difficult and so it was
decided this task was outside the scope of this commit.

Pull Request: https://projects.blender.org/blender/blender/pulls/130252
2024-12-28 01:44:49 +01:00
Gerard Taulats
02b1e5a48f Fix #94152 #97677: Fix cursor update over UI buttons
Use window->tag_cursor_refresh rather than WM_cursor_set when changing
cursor for numerical inputs. This works better since this allows a
change directly to a region-specified cursor rather than always to
default first.

Pull Request: https://projects.blender.org/blender/blender/pulls/132185
2024-12-27 23:50:27 +01:00
Ray molenkamp
0de684eba6 CMake: Raise LINK_INTERFACE_MULTIPLICITY to 3
The internal blender library dependency loops are longer than
the default cmake settings account for. As the work in [1]
adds more dependencies where they are needed this has become
a problem.

Bumping to 3 now as it solves the immediate linker problems in
#132375 but we can bump this further in the future if needed.

[1] https://devtalk.blender.org/t/cmake-cleanup/30260

Pull Request: https://projects.blender.org/blender/blender/pulls/132385
2024-12-27 22:45:43 +01:00