Commit Graph

134394 Commits

Author SHA1 Message Date
Omar Emara
12d34fed91 BLI: Add step function to math library
This patch adds a step function that is equivalent to the GLSL step
function to the BLI math library.

Needed by #119414.

Pull Request: https://projects.blender.org/blender/blender/pulls/119731
2024-03-21 10:54:17 +01:00
Guillermo Venegas
aa03646a74 UI: support layout panels in popups
Enables operators that uses `WM_operator_props_dialog_popup`
or `redo` popup to use layout panels.

Other popups would likely also support layout panels, only
they need to set its dummy panel with `UI_popup_dummy_panel_set`.
Popups don't normally use `Panel`, but that's the type that stores the
layout panel states. Therefore, to use layout panels in a popup, one
currently needs to create a dummy panel whose purpose is to store the
layout panel states for as long as the popup is open.

Alternatively, we could potentially also store the layout panel states
somewhere else in the future for popups, but that might be a more involved
change for now.

See #119519 for an example script that uses layout panels in a popup.

Pull Request: https://projects.blender.org/blender/blender/pulls/119519
2024-03-21 10:31:05 +01:00
YimingWu
e22eaf8783 Fix #119714: GPv3: Remove cyclic stroke point count limit
It's not necessary to check for `points.size() >= 3` since the extra
point space is always added thus the point should always be filled with
valid attribute to avoid erroneous "closing stroke".

Pull Request: https://projects.blender.org/blender/blender/pulls/119727
2024-03-21 09:04:20 +01:00
Campbell Barton
1a1905a639 UI: only show a single exception when enabling an add-on fails
The full stack-trace is mainly useful to developers which is printed
to the console. Only include a single exception in the error report.
2024-03-21 16:57:31 +11:00
Campbell Barton
429959e268 UI: always report to the user when an add-ons fail to load
Failure to import the module would print a message but not show
any feedback to the user - failing silently.
2024-03-21 16:57:31 +11:00
Campbell Barton
3cb687c32c addon_utils: show a useful error when loading a module without a file
When loading an add-on without a __file__ set the "cause" was empty.

Now the modules __path__ is included (when available) which points
to the path that failed to load to help with troubleshooting.
2024-03-21 16:54:15 +11:00
Campbell Barton
16919ea5f2 Fix addon_utils.enable() error when the module has no __file__
Although this error isn't specific to extensions, extensions containing
a blender_manifest.toml but no __init__.py would import a module
with the __file__ set to None.
While there is logic to handle this case, it didn't account for modules
already in sys.modules with __file__ set to None.

From a user perspective enabling the extension silently failed raising
an error on the second attempt to enable.
2024-03-21 16:54:15 +11:00
Campbell Barton
98fed4f50c System Info: correct title in background mode 2024-03-21 14:11:30 +11:00
Germano Cavalcante
24be7bd99e Fix #119716: snap in curve editing when mesh is generated by Geometry Nodes
In these cases, the Mesh is defined as an instance of the object.
These instances need to be ignored when in edit mode.
2024-03-20 23:46:55 -03:00
Germano Cavalcante
43e1e88223 Cleanup: use const pointers where possible in ED_view3d API 2024-03-20 22:42:14 -03:00
Campbell Barton
0d2c4df346 Fix extensions UI showing when developer extras are disabled 2024-03-21 12:22:28 +11:00
Campbell Barton
03ebef0fad Cleanup: typos in recent code-comments 2024-03-21 11:57:41 +11:00
Campbell Barton
98a8ed2002 Cleanup: forward event to WM_operator_name_call_ptr
In general it's best practice to forward events when available.
2024-03-21 11:46:56 +11:00
Campbell Barton
f64f3e8524 Extensions: recursively remove custom-directories on repo removal
Even though there is a dialog users must accept when removing a
repository & directory being removed is shown, it's possible users
assume this only removes files which are part of the repository after
pointing the custom-directory to their home directory or similar.

Removing repositories which point to a custom-directory now only
remove packages and server meta-data to prevent accidents.

Resolves #119481.
2024-03-21 11:43:00 +11:00
Pratik Borhade
2df06a05ae GPv3: Show stats in edit mode
GPv3 uses `OB_MODE_EDIT` so it falsely shows empty mesh data in stats.
This worked in legacy gp because it had special edit_mode type.
To show correct grease pencil data in edit mode, rearrange if conditions and
add special check for `OB_GREASE_PENCIL`

Pull Request: https://projects.blender.org/blender/blender/pulls/119689
2024-03-21 01:15:18 +01:00
Campbell Barton
6a937d646b Cleanup: remove unused variables 2024-03-21 10:11:54 +11:00
Campbell Barton
57dd9c21d3 Cleanup: spelling in comments 2024-03-21 10:02:53 +11:00
Campbell Barton
116264c310 Cleanup: use full scentences for code-comments & minor corrections 2024-03-21 09:49:19 +11:00
Campbell Barton
fbe16bc1eb BLI_delete: assert that dir is true when recursive is true
While this isn't an error avoid ambiguity for recursive deletion
as it's not meaningful to delete a file.
2024-03-21 09:43:40 +11:00
Campbell Barton
4e3771124d Docs: BLI_delete parameters & behavior with symbolic-links 2024-03-21 09:35:40 +11:00
Aaron Carlisle
0b29a63e38 Merge branch 'blender-v4.1-release' 2024-03-20 16:58:20 -04:00
Aaron Carlisle
91aa2a3d84 Docs: Python API: Fix builds on buildbot
Because sphinx-basic-ng does not have an official release on BYPI, pip could not satisfy the dependency.
2024-03-20 16:57:10 -04:00
Aaron Carlisle
1f3582bf95 Merge branch 'blender-v4.1-release' 2024-03-20 16:17:11 -04:00
Aaron Carlisle
429fea4abf Docs: Python API: Update the version switch to match the user manual
Not quite a 1:1 match, some customizations have to be made for the API URL differences and the face that there are no translations.

This also enables the version switch publicly now that this change fixes a few bugs.
2024-03-20 16:10:04 -04:00
Aaron Carlisle
12407be18b Docs: Python API: Switch theme to Furo
Since moving from the Wiki we have used the `sphinx_rtd_theme` which has worked well but has become a little dated and has had slow development. This changes to use "Furo" instead.

[Furo](https://github.com/pradyunsg/furo) is a lightweight theme that is responsive and has native dark mode support.

Dark mode is one of the major enhancements but this change also brings:

- Content is slightly larger making text and images easier to view
- Site navigation and page navigation is split into two navigation trees. The site navigation is on the left and page on the right if the page has multiple headings.
- Return to top button
- Content is centered on the screen which helps with wide monitors
- No more breadcrumbs
- Remove google analytics

So far the caveat that I have noticed with this is slower compile times and larger pages, this is due to the better sidebar navigation.

This change also brings a lot of simplifications to customizations that we made to the `sphinx_rtd_theme`. There is still likely room for improvement in the future.

Pull Request: #119684
2024-03-20 16:08:31 -04:00
Miguel Pozo
9b1ba4fced Fix: EEVEE-Next: Metal compilation
Compilation errors after #119436

Pull Request: https://projects.blender.org/blender/blender/pulls/119709
2024-03-20 19:09:31 +01:00
Miguel Pozo
81ceff8e73 Fix: Missing subversion update
Missing from #119436
2024-03-20 18:39:46 +01:00
Harley Acheson
d0eacbd6ba Merge branch 'blender-v4.1-release' 2024-03-20 09:07:40 -07:00
Harley Acheson
afbd733047 Fix #119635: File Browser Horizontal Display Never Compact
File Browser listings can clip content, remove columns, etc as the
available space narrows. This PR just makes this never happen for
the horizontal display mode, where files are shown in multiple columns,
as this is not applicable.

Pull Request: https://projects.blender.org/blender/blender/pulls/119673
2024-03-20 17:06:38 +01:00
Weizhen Huang
b81b0308fd Fix: WITH_CYCLES_DEBUG flag not enabled on Metal
seems to be enabled on other GPUs already

Pull Request: https://projects.blender.org/blender/blender/pulls/119701
2024-03-20 16:42:42 +01:00
Sergey Sharybin
e0b413f818 Merge branch 'blender-v4.1-release' 2024-03-20 16:06:36 +01:00
Sergey Sharybin
4eab8fae5a Fix #119697: Incorrect update after disabling light linking
The issue was caused by 29aaa2922d.

With the change from the offended commit there was nothing that
would have informed objects previously linked to a light that they
need to re-calculate their light linking collections.

This change makes it so scene's hierarchy is tagged for update,
which propagates to all dependencies which do depend on hierarchy
of objects and collections in the scene.

This brings behavior closer to what it used to be, without causing
slowdown with full re-evaluation (which was fixed by the offending
commit).

Pull Request: https://projects.blender.org/blender/blender/pulls/119698
2024-03-20 16:06:06 +01:00
Miguel Pozo
3888bdf8b2 EEVEE-Next: Fix transparent shadows convergence
Replace the hashed alpha function in shadows for a fully random one.
Add pcg functions to `gpu_shader_common_hash.glsl`
(Split from #119480)

Pull Request: https://projects.blender.org/blender/blender/pulls/119526
2024-03-20 16:05:07 +01:00
Hans Goudey
3f10ba244a Cleanup: Use C++ types in view3d_navigate.cc, restore fix from merge
Also restore a fix that was lost in the merge commit from 4.1.
2024-03-20 11:00:25 -04:00
Miguel Pozo
881fd2dbd5 EEVEE-Next: Jittered Shadow Transparency
Smooth transparent shadows by jittering their opacity threshold every
sample.
Always enabled on final renders, optionally enabled in the viewport with
`scene.eevee.shadow_jittered_transparency`.

Pull Request: https://projects.blender.org/blender/blender/pulls/119480
2024-03-20 15:55:58 +01:00
Miguel Pozo
0c8b96d1e0 EEVEE-Next: Shadow resolution scale and adaptive filtering
Allow the user to scale shadow-map resolution per-light.
Adapt the PCF scale based on shadow-map to pixel footprint ratio,
since we can no longer assume that higher LODs don't need filtering.
This allows using much lower shadow resolutions, which can yield
quite significant performance improvements, with relatively little
perceptual quality loss (at the cost of softening shadow edges).
The per-light resolution scale is a literal scale, so for example 0.5
means half the resolution. The Scene Simplify Shadows setting has
been updated to match this behavior.

Pull Request: https://projects.blender.org/blender/blender/pulls/119436
2024-03-20 15:54:41 +01:00
Brecht Van Lommel
dc34e96dc4 Merge branch 'blender-v4.1-release' 2024-03-20 15:49:15 +01:00
Jason Fielder
c584597165 Fix #109363: Resolve GPencil fill in Metal
Resolves an issue with stroke rendering in
Metal using the geometry shader fallback
path. Stroke rendering now matches OpenGL
which should enable the GPencil fill tool to
function correctly at all zoom levels.

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/119660
2024-03-20 15:38:44 +01:00
Hans Goudey
6d3ac72a29 Merge branch 'blender-v4.1-release' 2024-03-20 10:19:49 -04:00
Hans Goudey
87de8109b7 Fix: Build error from misplaced const in recent commit 2024-03-20 10:09:06 -04:00
Hans Goudey
cb3975c045 Fix #119642: Orbit around selection ignores geometry bounds
The code tried to retrieve the bounds from the data
synced back to the original object at the end of depsgraph
evaluation. That data is only set on original objects.

Instead just retrieve the bounds directly from the evaluated
object. Also make two variables const now that it's possible.

Pull Request: https://projects.blender.org/blender/blender/pulls/119674
2024-03-20 14:47:27 +01:00
Sergey Sharybin
6dc1cffe33 Merge branch 'blender-v4.1-release' 2024-03-20 14:38:52 +01:00
Sergey Sharybin
03c7191286 Fix #119560: Wanderer Demo Crash in 4.1 and 4.2
Add a null pointer check around CPU processor, matching the rest of the
processor access.

This solves crash in cases when the OCIO configuration exists but is
invalid: i.e. by removing a lookup table. It could lead to an invalid
render result, but is better than a crash.

The original issue with running Blender from within .zip archive might
still need investigation, as there might be a way to make it work.

Pull Request: https://projects.blender.org/blender/blender/pulls/119693
2024-03-20 14:38:23 +01:00
Michael Kowalski
99b845b1fb Fix: USD import: point instancer invalid modifier uid
Initializing the uid of the geom nodes modifier created
by the point instancer reader to prevent an assertion failure
(in a call to to BKE_modifiers_persistent_uids_are_valid())
when reading any USD point instancers in debug builds.

Pull Request: https://projects.blender.org/blender/blender/pulls/119683
2024-03-20 13:59:00 +01:00
YimingWu
3689dfca4f GPv3: Build Modifer migration
Reimplemented build modifier using the new `CurvesGeometry` logic.

Pull Request: https://projects.blender.org/blender/blender/pulls/118739
2024-03-20 13:28:28 +01:00
Pratik Borhade
c250b4bd51 Merge branch 'blender-v4.1-release' 2024-03-20 17:27:43 +05:30
Jacques Lucke
1fadf2251f Nodes: align functions to check if socket type supports fields or grids 2024-03-20 12:55:49 +01:00
Pratik Borhade
f99939e2ff Cleanup: Remove redo panel drawing code of graph select handle
Since there is no special case for drawing redo panel, this callback is
not required. Panel will be generated automatically because `undo` and `register`
flags are added to operator.
This improves alignment in redo panel.

Pull Request: https://projects.blender.org/blender/blender/pulls/119494
2024-03-20 12:55:13 +01:00
Jacques Lucke
25a10c211f Nodes: support accessing socket type directly from declaration
Previously, we haven't added this because there were plans to use these
declarations at a higher abstraction level where one declaration potentially
contains more than one socket. This hasn't happened yet, and we are also using
other ways to achieve dynamic socket amounts (using dynamic declarations).
Therefore, it is reasonable to simplify the code by storing the integer socket
type in the declaration directly.

Pull Request: https://projects.blender.org/blender/blender/pulls/119691
2024-03-20 12:37:37 +01:00
Jacques Lucke
7447666c85 Merge branch 'blender-v4.1-release' 2024-03-20 11:48:42 +01:00