Commit Graph

134394 Commits

Author SHA1 Message Date
codywinch 6ecbea242c GOOENGINE: Fix light group offset
was breaking default light group
2026-03-18 22:54:20 -05:00
chris c394c36413 Fix default light group on MacOS 2025-09-26 21:37:12 -05:00
chris 643965dbb0 Fix light groups on macos 2025-09-26 21:35:39 -05:00
Berk Elyesa Yıldırım 98d687dc91 Fix links in README
Some links have accidental > symbols in the end.
2025-09-26 21:32:40 -05:00
chris a231983039 Fix area light falloff in Shader Info 2025-08-01 16:39:39 +01:00
Julian Eisel e1b4610bf4 UI: Support persistent view state, write tree-view height to files
Adds support for saving some view state persistently and uses this to keep the
height of a tree-view, even as the region containing it is hidden, or the file
re-loaded.

Fixes #129058.

Basically the design is to have state stored in the region, so it can be saved
to files. Views types (tree-view, grid-view, etc) can decide themselves if they
have state to be preserved, and what state that is. If a view wants to preserve
state, it's stored in a list inside the region, identified by the view's idname.

Limitation is that multiple instances of the same view would share these bits of
state, in practice I don't think that's ever an issue.

More state can be added to be preserved as needed. Since different kinds of
views may require different state, I was thinking we could add ID properties to
`uiViewState` even, making it much more dynamic.

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

(cherry picked from commit f0db870822)
2025-07-24 12:52:12 +01:00
chris 3482605b1e GooEngine: Move Timecode metadata burn in to top left 2025-07-24 12:00:01 +01:00
chris 6a1210ff3f UI: Tree-view scrolling and resizing support
Implements scrolling support for tree-views, as well as changing the size of the
scroll-able tree-view. This is important to be able to place them in many places
in the UI, where a compact layout is preferred over an every expanding one
(causing following contents to be scrolled out of view). UI-lists would use
scrolling and resizing to ensure this, now tree-views are on par.

Enables scrolling and resizing for:
- Bone collection UI (`UILayout.template_bone_collection_tree()`)
- Grease Pencil layer UI (`UILayout.template_grease_pencil_layer_tree()`)
- Light link collection UI (`UILayout.template_light_linking_collection()`)
- UI to define a node tree interface (`UILayout.template_node_tree_interface()`)

These are all cases where compact UIs make more sense than expanding ones.

Internally this is enabled by calling the `set_default_rows()` method of the
tree-view, although the API might change still. It shouldn't be quite simple to
implement this for grid-views too if necessary, or other potential view types.

Although I'd like to do some smaller code quality improvements still, this
feature is important for some other modules (e.g. grease pencil module for the
layers UI in grease pencil v3), so I decided to prioritize merging this.

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

(cherry picked from commit 78e330923d)
2024-10-22 12:00:25 -07:00
chris f2a7165384 Half-lambert factor in Shader Info node 2024-10-22 11:54:11 -07:00
chris b007756ece Merge remote-tracking branch 'blender/blender-v4.1-release' into goo-engine-v4.1-release 2024-04-05 12:11:05 +01:00
Weizhen Huang 37fe41d7b7 Fix: Cycles NEE not excluding self intersection
which resulted in bias when self intersection is excluded in forward scattering.
Below is a comparison using principled BSDF with emission. NEE and MIS were much brighter.

Pull Request: https://projects.blender.org/blender/blender/pulls/119440
2024-04-05 13:00:49 +02:00
Hans Goudey ba820cf8f4 Fix #119969: Crash rendering in sculpt mode with multires active
SubdvigCCG is null for the evaluated mesh in the render depsgraph
because of the `!for_render` check in `MOD_multires.cc`. But the PBVH
type is still `PBVH_GRIDS`. That's a weird inconsistency that ideally
wouldn't happen, but probably isn't simple to change. The simplest and
most obviously harmless fix is to just check whether the list of PBVH
nodes to update is empty.
2024-04-04 17:37:12 +02:00
Hans Goudey 38e93e9608 Fix #119992: Object transform ignored for shrinkwrap and flat shading
the transform was always ignored for face normals since b4b224dc08.
2024-04-04 17:36:59 +02:00
Sergey Sharybin 6b9655eba9 Fix #120007: Crash rendering when using OptiX and Grease Pencil on recent drivers
The issue seems to be caused with the recent NVidia drivers, which will
crash if OptiX context is created prior to the OpenGL context on Linux.
This happens with drivers 545.29.06, 550.54.14, 550.67 and kernel 6.8
on Ubuntu 24.04, and also happens with NVidia driver 550.67 on Gentoo.

While it does seem the issue is likely on the driver side, the timeline
for it being resolved there is unknown. Until then it is possible to
apply workaround on Blender side, which will initialize GPU context
prior to rendering with an external render engine when it is known the
GPU context will be needed later on.

Note this is not a complex fix, because in general it's still possible to
render a frame without and then with grease pencil, in which case OptiX
will still be initialized first. But we don't want to always initialize
OpenGL, and we can't predict future operations.

Pull Request: https://projects.blender.org/blender/blender/pulls/120026
2024-04-04 17:36:46 +02:00
Christoph Lendenfeld 1e8890507e Fix #119946: NLA stack decomposition doesn't work with bones
The issue was that the `PointerRNA` passed to `BKE_animsys_get_nla_keyframing_context`
needs to point to an `ID` which wasn't the case when keying bones.
That is because internally the `FCurve` path is used to resolve the property.
This can only work from the `ID` because the `FCurve` path is always stored relative to that.
While the function doesn't fail when the property can't resolve the path, it won't actually do
the remapping when passing it to `BKE_animsys_nla_remap_keyframe_values` later.

Pull Request: https://projects.blender.org/blender/blender/pulls/120008
2024-04-04 17:36:33 +02:00
Philipp Oeser e422383a12 Fix #119925: Mask property keyframes missing when reload the file
Caused by 6a79a6a24a

`Mask` `AnimData` is read by `BKE_animdata_blend_read_data` since above
commit, so `BLO_read_data_address` on `AnimData` is already done there.
However, `mask_blend_read_data` does it again
Similar calls to `BLO_read_data_address` in `blend_read_data` callbacks
were usually removed in 6a79a6a24a, Masks being an exception.

Accoding to @mont29 the reason while a double remapping will fail is
because there can only be one remapping from old addresses to new ones.
Once the new address has been read, this new address cannot be used as
'key' again (it will likely map to nothing, or worse, remap to something
completely unrelated!)

Pull Request: https://projects.blender.org/blender/blender/pulls/119961
2024-04-04 17:36:11 +02:00
Philipp Oeser 7b53ab3a5f Fix #112618: many Outliner operators crash running without a region
This could happen when e.g. overriding context with just the area.

Now add poll functions that check for an active region when running
operators that require a region.

The fix is similar to 72688791dc

Alternatively, we could have a fix similar to a8892c7264 (getting the
correct region from the area), this would require less setup by
scripters, however for some operators the usage of the region is a
little further down the line, so implementation would be a bit more
involved. Also: for some of the operators, this would have to be done in
both `invoke` and `exec` (so would be more duplicate code changes).

Pull Request: https://projects.blender.org/blender/blender/pulls/119696
2024-04-04 17:35:57 +02:00
Campbell Barton 50aa9357ef Fix buffer overflow from passing undersized buffers to BLI_path_abs 2024-04-04 17:09:49 +02:00
Campbell Barton 776327832d Fix buffer overflow with BLI_str_format_uint64_grouped
Caused by cd4328dd82.
2024-04-04 17:09:33 +02:00
Campbell Barton 21031af49c Fix sizeof(sizeof(...)) passed to BLI_path_slash_ensure
Regression in [0] which would cause ensuring the slash to do nothing
in most cases. Note that the slash may not be needed, but that should
be handled separately.

[0]: d66f24cfe3
2024-04-04 17:09:19 +02:00
Campbell Barton 7987c663d9 Fix #114667: UI List search broken when class names >32 chars
The list identifier includes the class name and an list_id,
see: WM_uilisttype_to_full_list_id

This requires using UI_MAX_NAME_STR (as noted in doc-string).
2024-04-04 17:09:02 +02:00
Sergey Sharybin f80b4a4f55 Fix #119936: Crash selecting in mask editor
Regression since 7a2d04a5c4.

Mask evaluation is part of parameters component, and there is no explicit
tags other than copy-on-eval for masks in a lot of cases.

Restore the previous graph topology for the link from copy-on-eval to the
parameters components of mask ID.

Potential candidate for 4.1.1.

Pull Request: https://projects.blender.org/blender/blender/pulls/119956
2024-04-04 16:49:49 +02:00
Sergey Sharybin 6122b6e22d Fix #119907: Active curve vertex/spline not visualizing properly
A regression caused by 7a2d04a5c4.

The offending commit made it so selection tag does not imply parameters
update, which also avoids transitive re-evaluation of the curve geometry.
However, the active curve index is stored on a Curve, and curve modifier
stack creates a copy of the curve to hold the evaluation results, which
makes it so evaluated curve object does not intrinsically share the active
spline index.

This change makes it so changes in selection triggers geometry evaluation
on curves, matching the behavior prior to the offending commit.

AN ideal fix would somehow avoid such geometry re-evaluation, but it would
be a bigger change, not suitable for possible corrective release.

Potential candidate for 4.1.1.

Pull Request: https://projects.blender.org/blender/blender/pulls/119918
2024-04-04 16:49:33 +02:00
Charles Wardlaw c24b59959d Fix #99114: USD: Cache file operators now recognize USD as well as Alembic
USD files are now findable from the cachefile.open() and
cachefile.layer_add() operators.  Removed the ".abc" appending when
looking for a file for the first time, as it no longer makes sense.

Pull Request: https://projects.blender.org/blender/blender/pulls/118685
2024-04-04 16:49:04 +02:00
Alaska 01ca5dfc7b Fix #119692: Cycles render issue with light tree and light linking
When using light linking with the light tree, the root index of a
mesh light subtree can be 0. The current code assumed this wasn't
possible, and as such it caused rendering issues, specifically the
incorrect computation of the PDF of certain mesh lights during
forward path tracing.

So we adjust the code to allow mesh light subtree root node
indices of 0.

This was worked on by Alaska, Sergey, and Weizhen

Pull Request: https://projects.blender.org/blender/blender/pulls/119770
2024-04-04 16:48:46 +02:00
Habib Gahbiche dcb81a434d Fix #119973: Flip node produces artifacts
The Flip node produces artifacts if not connected directly to an input.
This due to a wrong calculation of depending area of interest, which is
a regressed introduced in 70a8a9e.

This is fixed by reverting the removal of the area of interest
calculation method in the aforementioned commit.

Pull Request: https://projects.blender.org/blender/blender/pulls/120149
2024-04-04 10:53:32 +02:00
chris 7bf7bdc9fe Fix build error on msvc 2024-04-02 12:24:24 +01:00
Brecht Van Lommel 810bfcc30a Build: Improve OSL library dependency handling in Cycles
Might fix some missing symbols when the OSL library gets updated.

Pull Request: https://projects.blender.org/blender/blender/pulls/119391
2024-03-29 14:49:51 +01:00
Campbell Barton 36b137996e Fix #119664: Persistent state not set when disabling add-ons
The wrong persistent attribute was set when disabling an add-on,
also correct the message when disabling an already disabled add-on.
2024-03-28 15:06:33 +01:00
Campbell Barton feafbb4853 Fix #117320: UV Sync-select selects faces instead of just edges 2024-03-28 15:05:49 +01:00
Thomas Dinges 8ef57654e1 Release: Bump to 4.1.1 RC 2024-03-28 14:40:03 +01:00
Hans Goudey 40a5e739e2 Fix #119873: Bake node crash with instanced light objects
4d0936c7d7 explicitly avoids turning non-geometry object
instances into geometry instances. This code is called to prepare
geometry sets for baking, and baking currently assumes that the baked
instances are always geometry sets.

To fix this, just check the instance type and serialize an empty
geometry set for the crashing object instance case. Compared to before
the crash causing commit, there is no change in behavior, since that
would have created empty geometry sets too.

Pull Request: https://projects.blender.org/blender/blender/pulls/119892
2024-03-25 21:42:07 +01:00
Sergey Sharybin 6c74d4af15 Fix #118555: Occasional incorrect compositor result with relative transform
In the tiled compositor ensure_delta() can be called from multiple threads,
but without any threading synchronization. This worked fine when the node
only supported absolute transform: multiple threads would do the same work
and assign delta to the same values.

With the addition of relative transform in #115947 a code which adjusts
previously calculated delta was added, leading to possible double-applying
relative transform.

The solution is to avoid multiple threads modifying the same data by using
a double-locked check.

This issue does not happen in 4.2 (main branch) because it switched to full
frame compositor, which works differently.

Pull Request: https://projects.blender.org/blender/blender/pulls/119883
2024-03-25 18:13:38 +01:00
Thomas Dinges 26caa18173 Release: Bump to 4.1 release 2024-03-25 18:08:02 +01:00
Aaron Carlisle 5a9b292ac4 Docs: Python API: Enable version switch menu 2024-03-25 12:50:01 -04:00
Pratik Borhade 436b9a5aae Fix #119862: poly build crash when adding first vertex in empty geometry
object_index is not found (-1) when all mesh data is deleted hence it
crashes when accessing base from the vector at index -1.
So skip the further execution to prevent crash.

Pull Request: https://projects.blender.org/blender/blender/pulls/119865
2024-03-25 13:55:57 +01:00
Jun Mizutani cc580136c6 Fix #119812: 'Add Child Collection' adds a brother bone collection
Change label from "Add Child Collection" to "Add Bone Collection", as the
newly added collection becomes a sibling, not a child, of the active one.

Pull Request: https://projects.blender.org/blender/blender/pulls/119845
2024-03-25 11:26:30 +01:00
Bastien Montagne 31aec5ae1d I18N: Updated UI translstions from git/weblate repo (5f533cb92100b). 2024-03-25 09:59:29 +09:00
chris 6ea7a38244 Revert "GooEngine: Show FCurve in editor operator"
This reverts commit 1574a31c
2024-03-23 13:58:36 +00:00
chris 05d1e2b3c4 Revert "GooEngine: Fix crash in Show Fcurve operator"
This reverts commit 0672afcf39.
2024-03-23 13:57:58 +00:00
chris e73e28b359 GooEngine: 4.1 splash screen 2024-03-23 13:47:18 +00:00
chris 09f8742ced Merge remote-tracking branch 'blender/blender-v4.1-release' into goo-engine-v4.1-release 2024-03-23 11:29:46 +00:00
chris 7a29ed4f2e GooEngine: Add Disable search on KeyPress option 2024-03-23 10:42:53 +00:00
chris c29114ed9f GooEngine: Ignore Action ID pointers when performing a Library Override Resync Enforce operation 2024-03-23 10:42:53 +00:00
chris 903740f4cc GooEngine: Fix MSL translation crash on MacOS 2024-03-23 10:42:53 +00:00
chris 27bcf4e52d GooEngine: Add Continous Trackball mode option 2024-03-23 10:42:53 +00:00
chris c48dcc2fb1 GooEngine: Option to disable Material Icon rendering 2024-03-23 10:42:52 +00:00
codywinch d339d5fc36 Goo Engine - Add Start Frame and End Frame to Scene Time node 2024-03-23 10:42:34 +00:00
codywinch bbb866914a Add randomize options to gpencil texture mapping modifier 2024-03-23 10:42:34 +00:00
codywinch f0094e05f9 Add randomize options to gpencil texture mapping modifier 2024-03-23 10:42:34 +00:00