Commit Graph

132147 Commits

Author SHA1 Message Date
Sergey Sharybin
f11292104d Render Tests: Separate difference of Color and Alpha
This change fixes confusion situation when the render output
is an RGBA image: the difference in color was not visible in
the report because alpha channel was all zeros. This is due
to idiff performing per-channel difference.

The solution to this problem is to have separate images for
color and alpha difference, which makes it clear where the
difference actually is coming from.
2024-01-25 10:04:16 +01:00
Jason Fielder
81c1490877 Fix #117169: Resolve crashing hair and curve tests in Metal
Remove divergent code paths for hair refinement. Metal
previously opted for transform-feedback based hair
refinement due to improved performance, but best
to utilise the same compute path with new engines in
mind.

Separate PRs can be made to optimize the compute
path.

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/117477
2024-01-25 05:02:19 +01:00
Campbell Barton
8841990764 Extensions: use the TOML manifest as a source for extensions bl_info 2024-01-25 14:36:20 +11:00
Campbell Barton
b686f2a536 UI: show the version as a string for extensions
Extensions use SEMVER, not a tuple of numbers.
2024-01-25 14:36:20 +11:00
Campbell Barton
f212be48ee Cleanup: reduce right shift in add-ons UI 2024-01-25 14:36:20 +11:00
Campbell Barton
4e3d24d7b5 Cleanup: assign variables for items in the add-ons UI 2024-01-25 14:36:20 +11:00
YimingWu
f2d08d2cbe Fix #104982: Ensure view layer when baking line art.
This is more like a hack, which ensures view layer depsgraph evaluation
when baking line art. It should fix the problem where the camera marker
switch would cause `view_layer->object_bases_array == null`.

Pull Request: https://projects.blender.org/blender/blender/pulls/117227
2024-01-25 04:33:37 +01:00
Campbell Barton
6aede44fb7 PyAPI: remove checks for add-ons pre 2.8x
This made sense when migrating from 2.7x, now 2.8x add-ons may also
have issues in 4.1 so this check isn't so relevant.
2024-01-25 13:00:48 +11:00
Campbell Barton
b8b1189bc4 Cleanup: assign a variable for the extension module with a trailing "."
This is used in enough places to simplify checks.
2024-01-25 13:00:48 +11:00
Campbell Barton
4b4ebc0f5c Unbreak build with freestyle from syntax error
Error in 7436b578dddf27888802b9bd6a8fa2e0ddd815f6.
2024-01-25 12:53:33 +11:00
Campbell Barton
c5dd51a4dc Fix syntax error in workbench_render_tests
Correct even if the test isn't used, since syntax errors can trip up
checking tools.
2024-01-25 10:37:30 +11:00
Campbell Barton
7436b578dd Cleanup: force wrapping all uses of PyDoc_STRVAR
Without this, minor edits can re-indent the whole doc-string at a
different level, causing diffs to be unnecessary noisy.
2024-01-25 10:22:16 +11:00
Campbell Barton
0ea0573349 PyDoc: remove unnecessary newlines which caused invalid syntax
Resolves all warnings building Python docs.
2024-01-25 10:22:15 +11:00
Campbell Barton
e89fdadf8e CPPCheck: exclude large lookup table in checks 2024-01-25 10:09:00 +11:00
Campbell Barton
8f4f4d62bc Cleanup: include release/datafiles/ to "make check_mypy"
Also add type hints to some scripts.
2024-01-25 10:06:29 +11:00
Campbell Barton
d44e09cf32 Cleanup: minor simplification to icon scripts inkscape detection
Only set the inkscape_bin when the environment variable isn't set.
2024-01-25 09:56:06 +11:00
Jesse Yurkovich
bc39b1b27c Fix: build break 2024-01-24 22:07:56 +01:00
Jesse Yurkovich
0c0885d323 Fix #117411: In memory UDIMs fail to pack correctly
Broken from 72ab6faf5d8

Because the `IMA_GEN_TILE` flag was not cleared during the memory pack,
the tile was regenerated on reloading. Mimic what is done during save
and clear the flag if all tiles pack successfully.

Pull Request: https://projects.blender.org/blender/blender/pulls/117472
2024-01-24 21:28:48 +01:00
Jesse Yurkovich
7bb78be256 Cleanup: Use CLOG instead of iostream for USD logging
Straightforward change from usage of iostream to CLOG.

Using CLOG unifies info/warning/error logging under a common
infrastructure that provides facilities for standardized filtering,
categorization, and printing. It also removes direct dependencies on
`<iostream>` which can be detrimental to compile times.

Pull Request: https://projects.blender.org/blender/blender/pulls/117429
2024-01-24 21:27:59 +01:00
Bastien Montagne
03e0de14c5 Fix (unreported) wrong logic in reports about unknown operators.
This (likely copy-pasted) check to report either an unknown operator
type, or a known operator type missing its RNA struct definition, had a
reversed logic. It would report a 'missing srna' for unknown operator,
and vice-versa.
2024-01-24 21:02:27 +01:00
Germano Cavalcante
99fd9ced5c Cleanup: Pass some non-nullptr pointers by reference
Passing non-nullptr pointers by reference for cleaner function
interfaces.
2024-01-24 20:38:46 +01:00
Brecht Van Lommel
8087dd9e96 Cleanup: Cycles: use one fewer object struct member for motion data 2024-01-24 20:17:13 +01:00
Brecht Van Lommel
5b6f2ef5a2 Cleanup: Cycles: rename some legacy names to new ones 2024-01-24 20:17:13 +01:00
Hans Goudey
f7303dbaa2 Cleanup: Move curves sculpt poll functions to C++ namespace 2024-01-24 14:09:15 -05:00
Brecht Van Lommel
b689027b3a Fix #114028: Cycles displace splits faces with smooth and flat faces
Cycles can use a per face flag to determine if a face is smooth or flat,
and there is no need to use corner normals in such cases. So revert to
not doing that as before, which also saves a bit of memory.

There is a pre-existing issue where faces are split by sharp edges and
autosmooth, which is not solved by this. It's only fixing the regression.
2024-01-24 19:55:31 +01:00
Hans Goudey
95dbea0a61 Cleanup: Remove unused include
BLI_time.h was unused after 0d420ee97aea54a43857.
2024-01-24 13:19:52 -05:00
Hans Goudey
75f06bf92a Fix #117459: Sharp shading from only edges ignored in edit mode
The fix in the logic is similar to 58753493901ebedc27f2. It's needed
because we now skip computing face corner (BMLoop) normals when the
BMesh is completely flat shaded. It might be completely flat shaded
just because of edge smoothness though, which wasn't taken into
account before.
2024-01-24 12:59:03 -05:00
Brecht Van Lommel
7c9c916b02 Build: improve make icons detection of Inkscape and Blender on macOS
Respect INKSCAPE_BIN and BLENDER_BIN environment variables if set,
make expected Inkscape path show when missing, simplify code.
2024-01-24 18:55:54 +01:00
Sean Kim
407dbdbcdc Fix: make icons command fails on macOS due to not finding inkscape
The INKSCAPE_BIN environment variable set by GNUmakefile was overriding
a good default path, now bring it in line with other icons scripts.

Pull Request: https://projects.blender.org/blender/blender/pulls/117464
2024-01-24 18:52:40 +01:00
Brecht Van Lommel
ae27daf834 Fix: only use preserveInvariance for Z fighting when supported by macOS
Pull Request: https://projects.blender.org/blender/blender/pulls/117484
2024-01-24 18:30:26 +01:00
Hans Goudey
6fc7f99a95 Cleanup: Make format 2024-01-24 12:24:12 -05:00
Hans Goudey
9ab356fe6e Cleanup: Return Vector for View Layer objects and bases retrieval
This simplifies code using these functions because of RAII,
range based for loops, and the lack of output arguments.
Also pass object pointer array as a span in more cases.

Pull Request: https://projects.blender.org/blender/blender/pulls/117482
2024-01-24 18:18:14 +01:00
Hans Goudey
d02d6ec4e5 Cleanup: Remove unnecessary keywords in C++ headers 2024-01-24 11:46:39 -05:00
Hans Goudey
500f09b88a Cleanup: Move metaball BKE headers to C++ 2024-01-24 11:46:39 -05:00
Hans Goudey
f5bb6ac8df Cleanup: Move armature_intern.h to C++ 2024-01-24 11:46:39 -05:00
Hans Goudey
0896e2805a Cleanup: Move mesh_intern.hh to C++ 2024-01-24 11:46:39 -05:00
Sun Kim
d8fbf38808 UI: Show user-oriented tooltip for extra options panel
Show "Extra options" as tooltip for the Tool Settings Extra Options item.

Pull Request: https://projects.blender.org/blender/blender/pulls/117193
2024-01-24 17:25:39 +01:00
Lukas Tönne
7e87513368 GPv3: Offset modifier
Ported the Offset modifier from GPv2.

Pull Request: https://projects.blender.org/blender/blender/pulls/117446
2024-01-24 16:57:58 +01:00
Hans Goudey
2eabfc4854 Cleanup: Move uvedit_intern.h to C++ 2024-01-24 10:55:16 -05:00
Hans Goudey
02582213de Cleanup: Move BKE_layer.hh to C++ 2024-01-24 10:55:16 -05:00
Ray Molenkamp
52152aac90 deps_builder: include all oiio tools for windows
oiiotool is required for PR117481
2024-01-24 08:47:30 -07:00
Jason Fielder
6498809dfd Metal: Fix Z-fighting in EEVEE Next
Small change to always opt-in to using
invariant position in the vertex shader.
This ensures precision between position
calculations from different shaders which
need to produce the exact same result, by
disabling fastMath on only those instructions.

After benchmarking, the impact of this change
does not appear to affect performance bottlenecks
but will reduce the need for additional bias calculations.

Authored by Apple: Michael Parkin-White.

Pull Request: https://projects.blender.org/blender/blender/pulls/117478
2024-01-24 14:42:14 +01:00
YimingWu
b6e5b02ede Cleanup: GPv3: Use consistent modifier RNA names
"GREASEPENCIL_" changed to "GREASE_PENCIL_".
2024-01-24 21:20:42 +08:00
Sergey Sharybin
aca0cf27e3 Fix cryptomatte GPU compositor node on NVidia Linux
This commit fixes node_cryptomatte test in the matte category
when using GPU compositor on Linux with NVidia GPU. Before this
fix the result image was squished horizontally.

The issue was caused by mismatch in the shader info and the
actual allocation of the matte image.

Pull Request: https://projects.blender.org/blender/blender/pulls/117475
2024-01-24 13:58:47 +01:00
Thomas Dinges
c683925f6d Cleanup: make format 2024-01-24 13:28:51 +01:00
YimingWu
756f7cf1e8 GPv3: Add Catmull-Clark option in subdivide modifier
This adds the "Catmull-Clark" option to the subdivide modifier.
Since this option is creating 2^n segments, the "Simple" method was adjusted to do the same.
This is now consistent with the old GPv2 modifier.

Pull Request: https://projects.blender.org/blender/blender/pulls/117382
2024-01-24 13:14:07 +01:00
Pratik Borhade
d5766dfdce Fix: Obj crash exporting curve without modifier property
`BKE_object_get_pre_modified_mesh` returns curve object data, later
accessing non-existing edge/face data triggered the crash.
`apply_modifiers` seems valid for mesh data only.

Pull Request: https://projects.blender.org/blender/blender/pulls/117471
2024-01-24 12:37:08 +01:00
Omar Emara
c60321f6dc Fix #115983: Skip writing output if no Composite node exists
Fix #115983: Crash when saving empty Composite output

Blender crashes when the compositor tries to save en empty composite
output through the render pipeline. This happens when no Composite node
exist and no Render Layers node is used, essentially producing an empty
render result.

We fix this by only saving the composite output if a Composite node or a
Render Layers node exist.

Pull Request: https://projects.blender.org/blender/blender/pulls/117129
2024-01-24 12:00:50 +01:00
Sean Kim
1e4f133950 Sculpt: Add brush settings for view & normal automasking values
This pull request adds the ability for the `Limit` and `Falloff` values for the View and Normal automask modes to be applied per-brush instead of modifying the global tool value.

Previously, while the flag settings were stored at the brush and global level, the values would always change the global value even when using the advanced tab of the brush menu.

## Testing
* `make test` results in 3 failures (49 - io_wavefront, 134 - compositor_distort_cpu, 323 - imbuf_save), but these tests appear to fail even prior to any changes being applied when running locally
* Manual testing with older version blend files to ensure that the value is defaulted correctly.
* Visual testing to verify that brush values are favored over global values.

Addresses #115174

Pull Request: https://projects.blender.org/blender/blender/pulls/117433
2024-01-24 10:59:50 +01:00
Bastien Montagne
3c62917213 Fix #112423: Recover Autosave breaks library paths.
Trying to 'recover' a normal (non-auto-saved) blendfile would break any
relative paths.

Caused by 88b24bc6bbbf35b, it looks like this commit did not take into
account readfile side of the code?

Pull Request: https://projects.blender.org/blender/blender/pulls/115048
2024-01-24 10:49:24 +01:00