Commit Graph

2901 Commits

Author SHA1 Message Date
codywinch 11e1688b96 GOOENGINE: Fix light group offset
Was breaking lighting on default materials
2026-02-10 22:23:28 -06:00
codywinch dded3c1ce7 GOOENGINE: Add geometry nodes active camera override
Adds a second camera property to the scene that is used only by geometry nodes in the Active Camera node. Necessary for our new environment file pipeline
2025-11-30 15:33:25 -06:00
codywinch de00a24179 GOOENGINE: Fix light group bit error
Errors when more than 31 light groups before
2025-10-29 10:48:00 -05:00
codywinch ba60b2412c GOOENGINE: OKLAB Color Ramp
Patches originally written by Joseph and Thorn. Thank you!

New color ramp node with a better hue shifting interpolation.
Kept separate to avoid versioning issues
2025-10-17 19:07:43 -05:00
codywinch 53f54556f3 GOOENGINE: Add light info node
Patches originally written by Joseph and Thorn. Thank you!

Adds a light info node
2025-10-17 17:38:28 -05:00
codywinch a1bd3eb832 GOOENGINE: Water Ripples Node
Patches originally written by Joseph and Thorn. Thank you!

Adds a water ripple node
2025-10-17 17:06:27 -05:00
codywinch 0deb24b0c7 GOOENGINE: Twirl Node
Patches originally written by Joseph and Thorn. Thank you!

Adds a twirl vector node
2025-10-17 16:39:27 -05:00
codywinch 7d81a8b19e GOOENGINE: Hex Grid node
Patches originally written by Joseph and Thorn. Thank you!

Implements a hex grid texture node
2025-10-17 16:22:12 -05:00
codywinch a049486fac GOOENGINE: UI QoL changes
Patches originally written by Joseph and Thorn. Thank you!

Adds the film transparent checkbox to the world panel for easy access
Puts the Topology Mirror boolean as a button next to the axis
Adds the scene camera selector to the top bar for easy access
2025-10-17 16:01:34 -05:00
codywinch 88e0d54d6b GOOENGINE: View Layer material/world overrides
Patch originally written by Joseph and Thorn. Thank you!
2025-10-17 15:44:28 -05:00
codywinch be7c62b6c0 GOOENGINE: Add autoclose stroke option for gpencil strokes
Update for GPv3
2025-10-12 20:51:43 -05:00
codywinch 2dbda3986c GOOENGINE: Restore render panels
Shadows and Indirect Lighting panels were missing
2025-10-11 22:41:16 -05:00
codywinch e4e6fd9ebf Last bit of merge fixes hopefully 2025-09-29 10:40:45 -05:00
codywinch d35ff60b60 GOOENGINE: Restore UI panels 2025-09-29 09:31:31 -05:00
codywinch e2a66578dc Merge branch 'blender-v4.3-release' into goo-engine-v4.2-release 2025-09-28 11:42:56 -05:00
codywinch 42b95be2f8 GOOENGINE: Restore Eevee defaults
Scene defaults to eevee
Versioning for eevee
Restore eevee bloom
NULL replace nullptr
Eevee versioing for Goo Nodes
Fix UI changes
Update Splash image
2025-09-27 11:07:41 -05:00
codywinch 1aa1bb4f5e Merge branch 'blender-v4.2-release' into goo-engine-v4.1-release 2025-09-27 10:03:48 -05:00
codywinch 268b286c69 Revert "UI: Tree-view scrolling and resizing support"
This reverts commit 6a1210ff3f.
2025-09-27 09:23:45 -05:00
Bastien Montagne a3491762b5 Fix #144592: FBX exporter: Invalid memory access when exporting tangents.
Since the tangent attributes are now recomputed inside the loop over uv
layers, looping directly over this mesh data is dangerous, as computing
the tangents attributes might trigger some re-allocations, leading to
invalid memory accesses when accessing the next uv layer.

Solved by caching uv layers' names in a list beforehand, the uvlayers
themselves are not even needed for tangent data handling.

Regression from e0a9e98cbd.
2025-08-19 16:37:51 +02:00
Denis Meyzer c945ea9b74 Fix: Only last tangents layer is exported to fbx when mesh has multiple uv layers
Only last tangents layer was written to all tangent layers before this fix.

Code before fix evaluate tangents for all layers into mesh loops data (which keeps data only for one layer) and then writes information about 'each' layer which is actually only the last one.
Code after fix evaluates tangents in the beginning of the loop that exports tangent data so that data for correct layer is being written into fbx.

Co-authored-by: Andrey Zhitkov

Pull Request: https://projects.blender.org/blender/blender/pulls/141839
2025-08-19 16:37:51 +02:00
Campbell Barton 7629abe435 4.2LTS: Extensions: forward any errors setting up wheels to reports
When actions on extensions failed setup extensions, errors weren't
forwarded to the user and were only visible in the terminal.

---

Back ported from fb3fe458bf

Pull Request: https://projects.blender.org/blender/blender/pulls/139017
2025-05-19 10:13:01 +02:00
Sergey Sharybin af21da1282 Move tests/data and assets to the main repository
This change moves the tests data files and publish folder of assets
repository to the main blender.git repository as LFS files.

The goal of this change is to eliminate toil of modifying tests,
cherry-picking changes to LFS branches, adding tests as part of a
PR which brings new features or fixes.

More detailed explanation and conversation can be found in the
design task.

Ref #137215

Co-authored-by: Brecht Van Lommel <brecht@blender.org>

Pull Request: https://projects.blender.org/blender/blender/pulls/137219

Pull Request: https://projects.blender.org/blender/blender/pulls/138487
2025-05-06 13:42:47 +02:00
Falk David 7140dace7a Fix #136538: Grease Pencil: Remove unused "Sample Color" keymap
This was meant to be used by GPv3, but ended up also being called
from GPv2 Draw Mode.
Removes the entry since it's not doing anything.

Pull Request: https://projects.blender.org/blender/blender/pulls/136599
2025-04-11 13:31:58 +02:00
Brecht Van Lommel 1c953fca2e Fix: Blender as Python Module shared library directory wrong
This could affect for example the USD and MaterialX Python modules
that are now bundled, and need appropriate paths to their libraries.

Ref #134676

Pull Request: https://projects.blender.org/blender/blender/pulls/134937
2025-03-13 14:36:39 +01:00
Campbell Barton 1f892ff92d Fix #83819: Toolbar tooltip missing with custom-keymap
When accessing the key-map for tooltips it's important to use
the final "user" keymap, combine from "active" & "default".

Using the active keyconfig would only keys from key-maps that had
been modified.
2025-03-12 16:15:21 +01:00
Alaska 5fc636c67a Fix #135294: Improve missing VR support error message on macOS
This commit improves the error message explaining why VR isn't
supported on the macOS platform.

Pull Request: https://projects.blender.org/blender/blender/pulls/135302
2025-03-12 16:14:29 +01:00
Campbell Barton 51b3864ae0 Fix #131947: Error closing prefs while installing extensions on WIN32
Using `signal.SIGINT` to send a signal to a sub-process isn't supported
on WIN32, replace with `signal.CTRL_BREAK_EVENT`.
2025-02-14 17:32:46 +01:00
Christoph Lendenfeld 6e0232fc71 Fix: Error when baking custom properties of unavailable addon
When baking an Action on an object which has custom properties that come
from an addon or python script that isn't loaded, the baking would fail with:
```
TypeError: Cannot assign a 'dict' value to the existing 'hops' Group IDProperty
```

This comes from an addon that isn't present or loaded on a users machine.
The fix is to check for `IDProperty` and skip those.

Pull Request: https://projects.blender.org/blender/blender/pulls/129057
2025-02-14 17:27:11 +01:00
Christoph Lendenfeld e30a332dcb Fix #131495: Pose Library error with enum values
Enums in Blender evaluate to a string, so trying to add them to a pose
failed with an error because FCurves only accept numbers.

The fix is to modify the data path and split the property name off.
By evaluating that we arrive at the bone, from which we can call `get(property_name)`
to get the int value.

Pull Request: https://projects.blender.org/blender/blender/pulls/132124
2025-01-14 13:51:53 +01:00
Campbell Barton 3ee045724f Refactor: adjust the URL/file-system data iterators for extensions
The logic to generalize over downloading a URL or reading data from
the file-system included static values in the iterator along with the
data being read - so the caller could access the total expected size of
the data being read. While this worked, the result didn't read well.

Now these iterators yield the data being read, a new type has been
added for the caller to read the size hint from.

Also correct invalid doc-string.
2025-01-14 13:50:52 +01:00
Campbell Barton 813aff7288 Cleanup: replace Generator type with Iterator where appropriate 2025-01-14 13:47:16 +01:00
Campbell Barton 0b57585607 Extensions: suppress resource leak warning on WIN32
Accessing the internal extensions command would warn that the processes
stdout wasn't closed on completion. While it's harmless at the moment,
ensure it's closed using a context manager.
2025-01-14 13:46:21 +01:00
Christoph Lendenfeld 5710f38199 Fix #129416: Wrong Bone Selection Set used for selection
The issue was that when using a specific selection set,
the property `selection_set_index` is set to a specific index.
That index would persist to the next call of the operator
when trying to call it from the selection set list. The fix is to explicitly reset the
index to -1 when calling the operator from the list, because
that means the active selection set will be used.

Pull Request: https://projects.blender.org/blender/blender/pulls/131675
2025-01-14 12:12:10 +01:00
Christoph Lendenfeld 5753900970 Fix #130053: ALT+H in weight paint not unhiding bones
When in bone selection mode of during weight painting,
pressing ALT+H would unhide faces instead of bones.
Removing the keymap entry fixes that, while still allowing
unhiding of faces in face mask mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/131104
2024-12-10 14:03:14 +01:00
Campbell Barton 3ab3157fdd Fix error enabling extensions with an empty wheel list
Regression in [0] caused extensions with an empty wheel list
to raise an unhandled exception when extracting the Python
version from the wheel list.

Besides resolving this error, account for errors using the wheel
list since it isn't type checked in this code-path.

[0]: cfc10b0232
2024-12-10 14:00:41 +01:00
Campbell Barton 948ddd86dc Extensions: use replace exists with lexists to check a path can be used
Without this, a broken symbolic-link wasn't removed, causing renaming
to fail.
2024-12-10 14:00:16 +01:00
Campbell Barton 0eabdc27f2 Extensions: suppress noisy prints for extension wheel filtering
These messages could flood the output even when extension installation
succeeded. Only show them when Python debugging is enabled.
2024-12-10 13:59:35 +01:00
Campbell Barton 19a8ec2709 Correct error printing error in f03fba614d 2024-12-10 13:59:05 +01:00
Campbell Barton 14d0339678 Fix #130211: Unhandled error installing extensions when renaming fails
Add error handling for rare but possible failures on installation.

- Account for the destination extension directory being a file.
- Handle the exception if renaming the temporary directory fails.
2024-12-10 13:57:54 +01:00
Campbell Barton bce84bcbcc Fix failure to reinstall an extension uninstalling the extension
When an extension could could be removed but it's directory could be
renamed, the install operation would fail anyway.

Resolve by completing the installation when the directory can be moved.

Report as part of #129884.
2024-12-10 13:50:26 +01:00
Julien Duroure a5a8cd9e6a glTF exporter: Fix crash when animation on not used material
(And when exporting using KHR_animation_pointer)
2024-12-10 13:49:35 +01:00
Julien Duroure 383b780b97 glTF exporter: Fix debug logging
Set INFO level if user set debug to whatever value not used to set logging level
2024-12-10 13:48:03 +01:00
Julien Duroure a8714eaa3d glTF exporter: Fix crash with extra channel 2024-12-10 13:35:11 +01:00
Campbell Barton 9991116bdd Fix #130561: incorrect Python compatibility checks for wheels
Regression in [0] caused wheels with an older Python version
that used CPython's stable ABI to be considered incompatible.

Resolve using the stable ABI for version checks.

[0]: cfc10b0232
2024-12-10 13:10:34 +01:00
Campbell Barton 68df34ecf0 Extensions: fix building packages containing macos universal wheels 2024-12-10 13:09:46 +01:00
Campbell Barton bdc8d6963e Tests: correct hard coded version string in extensions test 2024-12-10 13:08:04 +01:00
Falk David a5976f4ae9 Fix #130651: Tint tool does not show correct color in header
The issue was that the UI code still used the unified paint settings.
It was decided that in `PAINT_GREASE_PENCIL` mode we don't use
the unified paint settings and always use the settings on the brush.

The fix uses the `brush` as the owner of the `color` property instead
of the unified paint settings.

Pull Request: https://projects.blender.org/blender/blender/pulls/131452
2024-12-09 09:32:48 +01:00
Thomas Barlow b899fbbe1c Fix #123088: Workaround for Unity FBX import per-vertex normals issue
The FBX SDK specifies that normals should use the IndexToDirect FBX
reference mode. This mode allows data written to FBX to be deduplicated
by writing a separate array of indices into the deduplicated array of
data that can be used to reconstruct the full array of data.

When Unity imports per-vertex normals with the IndexToDirect reference
mode, it erroneously considers the imported mesh's normals invalid if
any of its normals were deduplicated. This issue is not present in other
external software that I have tested.

This patch modifies the export of per-vertex normals to not perform any
deduplication, avoiding the issue in Unity's FBX importer while
maintaining use of the IndexToDirect reference mode.

The add-on's patch version has been increased.

Pull Request: https://projects.blender.org/blender/blender/pulls/123186
2024-12-02 18:00:57 +01:00
Campbell Barton be6a84136d Fix error enabling extensions with an empty wheel list
Regression in [0] caused extensions with an empty wheel list
to raise an unhandled exception when extracting the Python
version from the wheel list.

Besides resolving this error, account for errors using the wheel
list since it isn't type checked in this code-path.

[0]: cfc10b0232
2024-12-02 18:00:44 +01:00
Campbell Barton 776b05fd98 Extensions: use replace exists with lexists to check a path can be used
Without this, a broken symbolic-link wasn't removed, causing renaming
to fail.
2024-11-29 16:35:41 +01:00