Commit Graph

128893 Commits

Author SHA1 Message Date
Campbell Barton f82e520d22 Cleanup: spelling in comments 2023-10-04 10:31:52 +11:00
Campbell Barton 36f65655cd Cleanup: reserve single quotes for enums 2023-10-04 10:30:28 +11:00
Campbell Barton 5ae917ffe9 Fix GHOST_SystemWayland::disposeContext assuming an EGL context
Only destroy the EGL window for OpenGL contexts.
2023-10-04 10:17:36 +11:00
Brecht Van Lommel 660d8de7e4 Merge branch 'blender-v4.0-release' into main 2023-10-03 20:31:04 +02:00
Brecht Van Lommel 2f3e3cda51 Fix #113034: Cycles sheen breaks with low roughness
Also minor optimization to replace division by multiplication.
2023-10-03 20:30:40 +02:00
Harley Acheson e1a868df1d Merge branch 'blender-v4.0-release' 2023-10-03 09:46:24 -07:00
Harley Acheson e44f500be8 Fix #102591: Improvements to Context Menu Path Operators
Improvements to `ui_but_menu_add_path_operators` so that it properly
differentiates between files and directories even if the filepath is
not slash terminated. It will also not add the operators to the menu
if the filepath does not exist.

---

Right-clicking on a pathname input we get a context menu that might contain "Open File Externally" and/or "Open Location Externally".  But the first problem is that it does not check if this location exists, and we do have times where the paths do not exist yet.  This PR makes this function a bool so that can return false if the files do not exist.

The second problem is that the function does not properly differentiate between a file path and directory path. For a directory path that is not slash terminated it will assume it is a file path.  This PR actually checks the path (BLI_is_dir) to see if it really is a directory path.

Pull Request: https://projects.blender.org/blender/blender/pulls/113216
2023-10-03 18:44:56 +02:00
Damien Picard b05db089af I18n: translate node panel titles
Nodes recently gained the ability to group inputs into collapsible
panels. These were untranslated, so this commit:
- Adds the appropriate regex to extract node panels defined with
  the `add_panel()` callback.
- Adds the `IFACE()` translation macro to the drawing code for the
  nodes, as well as the properties.

Pull Request: https://projects.blender.org/blender/blender/pulls/112968
2023-10-03 18:24:19 +02:00
Damien Picard 52fcd5fdfd I18n: extract and disambiguate a few messages
Disambiguate:
- Rename "Near" to "Proximity" as a particle event type, because using
  an adjective in this context is inconsistent and sounds
  strange (even in English IMO).

Extract:
- "Skip" (Geometry nodes Simulation node output socket)
- "Bake" (Directory path to geometry nodes bake files in the modifier
  UI)
- " (Recovered)" (File information in title bar)

Pull Request: https://projects.blender.org/blender/blender/pulls/112974
2023-10-03 18:21:03 +02:00
Richard Antalik a6376ec77a Merge branch 'blender-v4.0-release' 2023-10-03 18:14:42 +02:00
Marcos Perez 5c76c7bf84 Fix: #113084 VSE equalizer stutters when any strip is animated
Only update equalizer data, when sound is tagged to be recalculated.

Co-authored-by: menda <alguien@aqui.es>
Pull Request: https://projects.blender.org/blender/blender/pulls/113156
2023-10-03 18:13:24 +02:00
Lukas Tönne 12a562cb8d Merge branch 'blender-v4.0-release' 2023-10-03 18:10:10 +02:00
Lukas Tönne 050c081784 Fix #113210: Custom socket declarations require idname reference
This was removed accidentally. Custom socket declarations require the
idname reference to check for matching node group sockets.

Pull Request: https://projects.blender.org/blender/blender/pulls/113214
2023-10-03 18:09:17 +02:00
Clément Foucault bcf0c117a0 Revert "EEVEE-Next: Fix DupliObject ObjectKey"
This reverts commit 641dff8bf4.
2023-10-03 18:03:27 +02:00
Lukas Tönne 2c7dc402d3 Merge branch 'blender-v4.0-release' 2023-10-03 17:25:32 +02:00
Lukas Tönne 8a20bd4182 Test fix: Node groups outputs now placed before inputs
#113060 enforces output/input ordering of node group sockets.
The bf_node_group_interface test needs to be updated to reflect
these changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/113213
2023-10-03 17:24:12 +02:00
Sergey Sharybin ff1f4aa53d Merge branch 'blender-v4.0-release' 2023-10-03 17:10:14 +02:00
Sergey Sharybin fff74145f1 Fix #113186: The Render Result attribute "has_data" is always False
Caused by d579ac2b3f

This change restores the behavior of the flag to how it was prior to
the refactor which used ImBuf for storage in the RenderResult.

This flag still has issues with configurations when there are multiple
scenes in the .blend file, and that it is only "valid" when the image
is actually displayed. However, these limitations and quirks already
existed prior to the refactor commit.

Pull Request: https://projects.blender.org/blender/blender/pulls/113199
2023-10-03 17:09:04 +02:00
Brecht Van Lommel a2da71d3a9 Merge branch 'blender-v4.0-release' into main 2023-10-03 16:13:12 +02:00
Brecht Van Lommel 8562cecf1b Fix #112991: crash switching from Hydra Storm viewport to other renderer
The viewport render engine was freed outside the DRW OpenGL context, which
resulted in Storm deleting a VAO from another OpenGL context.
2023-10-03 16:12:45 +02:00
Germano Cavalcante 0780df448e Merge branch 'blender-v4.0-release' into main 2023-10-03 11:11:07 -03:00
Germano Cavalcante 586ffcd669 Fix 'Automatic Constraint' appearing in statusbar although not supported 2023-10-03 11:10:22 -03:00
Clément Foucault 1b1b1a19bf EEVEE-Next: Add world clip plane support
This add a way to use a software clip plane in the
prepass shader (surf_depth_frag.glsl).

The benefit of using this instead of gl_ClipDistance
is that the rasterization pattern is given to match.
Which means that only the prepass shader have to use
this.

This is slow and should only be enabled when needed.
2023-10-03 16:09:12 +02:00
Clément Foucault 23e4cbc86a EEVEE-Next: Split curve attributes to their own interface
This avoid poluting shader interfaces which might not be
optimized by the compilers.
2023-10-03 16:09:12 +02:00
Jacques Lucke fb38327e6a Geometry Nodes: refactor how side effect nodes are set up
Previously, the geometry nodes modifier was converting the
viewer path to a compute context at the same time as it was
setting up side effect nodes for the geometry nodes evaluation.

Now, this is changed to be a two step process. First, the viewer
path is converted to the corresponding compute context.
Afterwards, a separate function sets side effect nodes up so
that the given node in the given compute context will be evaluated.

This has three main benefits:
* More obvious separation of concerns.
* Can reuse the code that maps a viewer path element to a compute
  context already.
* With gizmo nodes (#112677), it may become necessary to add side
  effect nodes  based on a compute context, but without having a
  corresponding viewer path.
2023-10-03 14:12:42 +02:00
Bastien Montagne 10ce3988e2 Merge branch 'blender-v4.0-release' 2023-10-03 13:10:18 +02:00
Bastien Montagne 30aaf3b086 I18N: UI Translation: Add Tamil and enable Bulgarian, Greek and Nepali.
These four languages now have some translated strings, so time to show
them in Blender.

NOTE: effect will take place after next week's update in official
Blender builds.
2023-10-03 13:09:26 +02:00
Lukas Tönne ecb7562c74 Merge branch 'blender-v4.0-release' 2023-10-03 12:20:00 +02:00
Lukas Tönne 71732a9600 Fix #113014: Improved sorting to keep node group outputs above inputs
The position validation when manipulating node group items now includes
outputs..inputs order in addition to sockets..panels order. The method
for finding a valid position has been simplified, it's just a single
iteration of insertion sort.

Versioning has been added to ensure files from 4.0 alpha with
potentially unsorted sockets get re-sorted. This uses `std::stable_sort`
so that sockets keep their relative order apart from the input/output
grouping.

Pull Request: https://projects.blender.org/blender/blender/pulls/113060
2023-10-03 12:18:36 +02:00
Bastien Montagne d768c51839 Merge branch 'blender-v4.0-release' 2023-10-03 12:16:15 +02:00
Bastien Montagne 19ac7c0f87 I18N: Updated UI translations from weblate/git repo (67dc845a5b11). 2023-10-03 12:14:42 +02:00
Lukas Tönne e9625b10ab Merge branch 'blender-v4.0-release' 2023-10-03 11:40:20 +02:00
Lukas Tönne a06403cd3b Nodes: Include rotation socket type in anonymous attribute inferencing
Rotation socket is missing in `is_possible_field_socket` for detecting socket types that can be fields.

Pull Request: https://projects.blender.org/blender/blender/pulls/113197
2023-10-03 11:39:47 +02:00
Jacques Lucke 48fe3aab36 UI: start search in menu when pressing spacebar
This way one can easily access the item that has been searched for most
recently if `Sort by Most Recent` is enabled in the user preferences.

Pull Request: https://projects.blender.org/blender/blender/pulls/113144
2023-10-03 11:39:00 +02:00
Sybren A. Stüvel 3d6713e086 Fix #113178: .dae file with collection-less armature crashes on import
If the DAE file was written with something other than Blender 4.0, it
doesn't have the bone collections info. That resulted in a nullptr, which
is now handled properly.
2023-10-03 10:34:44 +02:00
Campbell Barton 818ae7b149 Merge branch 'blender-v4.0-release' 2023-10-03 16:41:19 +11:00
Campbell Barton 3e7769215e Merge branch 'blender-v4.0-release' 2023-10-03 16:41:16 +11:00
Jeroen Bakker ee92151c3a Overlay-Next: Fix Copy Uninitialized Texture
Overlay engine is currently responsible to initialize the framebuffers
depth_in_front texture. This is a hack and hasn't been ported to
Overlay-Next (yet). This PR skips copying the depth_in_front texture
when it isn't initialized yet.

Issue detected when working on Vulkan backend due its more
strictness.

Pull Request: https://projects.blender.org/blender/blender/pulls/113188
2023-10-03 07:27:36 +02:00
Jeroen Bakker 7d05a4a69f Cleanup: Make format 2023-10-03 07:23:46 +02:00
Campbell Barton 41d62f36d5 Fix uninitialized variable use accessing the screen size under Wayland
It's possible for there to be no outputs under Wayland
(when unplugging monitors for e.g.) so this must be accounted for.

Also avoid calculating the window position when the GHOST backend
doesn't support window positions (which is the case for Wayland).

Add checks for the SDL backend too, where accessing the
screen & desktop size may fail.
2023-10-03 15:40:58 +11:00
Campbell Barton dea7a94e0c Cleanup: remove redundant call to GHOST_GetMainDisplayDimensions
A maximum window size was calculated but not used
(dating back to the first commit).
2023-10-03 15:09:53 +11:00
Campbell Barton 1e50b54ff2 Merge branch 'blender-v4.0-release' 2023-10-03 13:58:31 +11:00
Campbell Barton 26bb029ad8 Fix #113154: Hang double-clicking on UI elements outside a text field
The logic to handle word selection from double clicking ran even when
the event wasn't inside the button. This would pass an invalid position
to BLI_str_cursor_step_bounds_utf8 which hung.

Resolve by limiting word-selection to when the event is inside
the text editing field as well as clamping the position to ensure
it's within the allowed range.
2023-10-03 13:57:33 +11:00
Campbell Barton 9c018def3e Cleanup: spelling in comments 2023-10-03 11:24:48 +11:00
Campbell Barton 8b940ab0c2 Merge branch 'blender-v4.0-release' 2023-10-03 11:19:40 +11:00
Campbell Barton 779239f5e1 Cleanup: spelling in comments 2023-10-03 11:16:55 +11:00
Campbell Barton 74bb280df5 Fix incorrect sizeof argument to memcmp in EEVEE's ObjectKey comparison 2023-10-03 11:14:08 +11:00
Campbell Barton 83724fe1eb Merge branch 'blender-v4.0-release' 2023-10-03 11:11:17 +11:00
Campbell Barton 69d18c6063 Cleanup: quiet unknown escape sequence warning 2023-10-03 11:08:49 +11:00
Harley Acheson 27aecd34e1 Merge branch 'blender-v4.0-release' 2023-10-02 17:08:26 -07:00