Commit Graph

120668 Commits

Author SHA1 Message Date
Omar Emara
498a2e5bcd Compositor: Remove deprecated compositor properties
This patch removes the properties that were marked as deprecated in the
4.x series and was planned for removal in 5.0. Some DNA members were
marked as deprecated or removed in correspondence with this change.

Pull Request: https://projects.blender.org/blender/blender/pulls/140355
2025-06-16 08:12:26 +02:00
Omar Emara
ed86b1fcf7 Merge branch 'blender-v4.5-release' 2025-06-16 09:09:14 +03:00
Omar Emara
976efdcac9 Compositor: Remove storage of Alpha Over node
This patch removes the storage of the Alpha Over node, since it is no
longer used. This is a continuation of b62ef2cdd6.

Pull Request: https://projects.blender.org/blender/blender/pulls/140359
2025-06-16 08:07:21 +02:00
Jacques Lucke
59a759b98d BLO: enable new file format by default
This enables the new .blend file format as described in #129309 and implemented
in 6a90382390 by default. This allows storing
blocks larger then 2GB inside the file. This is a necessary requirement to be
able to store e.g. meshes with more than a few hundred million vertices.

There is a new debug option that can be used to force Blender to write the older
file format. This is especially useful when using tools that have not been
updated to be able to read the new format yet.

Compatibility:
* Blender 4.5 is able to read the new format for a few months already, so 4.5
  LTS will be able to read these files
  (6a90382390).
* The internal `blendfile.py` which is used by `blend2json.py` has been updated
  (d83bfee347).
* blender-asset-tracer (BAT) has been updated
  (blender/blender-asset-tracer@f1ee7980b2).
* `blend_render_info.py` will be updated soon (#140341).

Pull Request: https://projects.blender.org/blender/blender/pulls/140343
2025-06-16 07:46:05 +02:00
илья _
3a8655a12b Fix: Geometry Nodes: corrupted grid after math node
There is the use-after-free of the tile value on the stack.

Pull Request: https://projects.blender.org/blender/blender/pulls/140405
2025-06-16 07:17:18 +02:00
Jacques Lucke
71a4c04426 Fix: update after uilayout refactors 2025-06-16 06:56:56 +02:00
Jacques Lucke
9894c4d8e1 Merge branch 'blender-v4.5-release' 2025-06-16 06:32:04 +02:00
Jacques Lucke
0937051d52 Fix: Nodes: bad user counting when creating node group
The newly created node tree already has one initial user
when it is created. So the user count does not have to be
increased when it's first assigned.
2025-06-16 06:31:21 +02:00
Pratik Borhade
a93ab6446d Merge branch 'blender-v4.5-release' 2025-06-16 09:57:57 +05:30
Guillermo Venegas
a8fdecc0a8 Fix: IO: FBX General import settings layout can't be re-enable
The `General` settings layout can be disabled by unchecking `use_custom_props`,
an since this button button is within this layout it can't be activated back.

NOTE: See that the button can be activated back if the checkbox is still
hovered after being unchecked, if the mouse moves out it can't be enabled back.

Pull Request: https://projects.blender.org/blender/blender/pulls/140228
2025-06-16 06:26:27 +02:00
Sean Kim
005ce385d4 Cleanup: Add missing explicit dependency on header
All of the modified files were  pulling in `BLI_math_vector.h` via
`BLI_multires.hh` and subsequently `multires_inline.hh`

Pull Request: https://projects.blender.org/blender/blender/pulls/140441
2025-06-16 01:00:29 +02:00
Sean Kim
716653d22b Cleanup: Use blender::Array instead of raw pointer for PolyCornerIndex
Changes `MultiresDisplacementData` to use a `blender::Array` instead of
a manually allocated pointer to allow for using `Span`s and avoid
further manual memory management.

Note that `MultiresDisplacementData` is already handled via C++ style
`new` & `delete` and does not need to be converted as a prerequisite.

Pull Request: https://projects.blender.org/blender/blender/pulls/140328
2025-06-16 00:56:12 +02:00
Sean Kim
23cc842319 Cleanup: C++ changes for subdiv_displacement_multires.cc
* Uses references where possible
* Adds const where appropriate

This commit only modifies the internal methods, and does not touch any
of the function signatures or areas that interface with other parts of
the codebase.

Pull Request: https://projects.blender.org/blender/blender/pulls/140326
2025-06-15 23:09:18 +02:00
YimingWu
ab4f5ef5f2 Fix #140161: UI: Use theme wireframe color by default
In Geometry Nodes workspace, the viewport didn't have wireframe color
type set to a valid value, now set default value to theme color for all
viewports.

Pull Request: https://projects.blender.org/blender/blender/pulls/140172
2025-06-15 12:54:10 +02:00
YimingWu
6756982f07 Fix #139873: Grease Pencil: Auto normalization on assign/remove operator
Auto normalization used to not work on assign/remove vertex group
operator, this was due to `BKE_object_defgroup_validmap_get` and
`vgroup_parray_alloc` did not handle grease pencil type objects. Now
added grease pencil cases in them and auto normalization works as
expected.

Pull Request: https://projects.blender.org/blender/blender/pulls/139912
2025-06-15 12:50:13 +02:00
Pratik Borhade
f9e7769f7f UI: Use selected text theme of list item for tree view
If view items button is active, call `ui_layout_list_set_labels_active` to
set the `SELECT` flag on label button. Due to this flag being set, text_sel theme
color is copied to `wcol.text` (see `UI_SELECT` condition in `widget_state()`).
This `wcol.text` is later used inside `widget_draw_text()` for text color.

Pull Request: https://projects.blender.org/blender/blender/pulls/140330
2025-06-15 12:07:22 +02:00
Campbell Barton
e0f075fc35 Merge branch 'blender-v4.5-release' 2025-06-15 19:15:47 +10:00
Campbell Barton
bd3a66a416 Fix #140396: bmesh.ops.dissolve_edges fails to dissolve vertices
Support flagging BMesh operator slots as being used so it's possible
to use a non-zero fallback value for the edge-dissolve angle threshold.
2025-06-15 19:12:50 +10:00
Richard Antalik
1fbd83f72e Fix: VSE function has inverted logic
`seq_need_scale_to_render_size` returned true, when scaling was not
needed. The code that used this function worked correctly, so the logic
was inverted in both places.
2025-06-15 06:49:46 +02:00
Aras Pranckevicius
d9ef240311 Merge branch 'blender-v4.5-release' 2025-06-14 22:15:36 +03:00
Aras Pranckevicius
074fcfe1a5 Fix #138834: FBX importer sets pivots incorrectly in some cases
Fix the rest of #138834, pivot adjustment was not done
when rotation pivot and scaling pivot inside FBX were not matching.

Pull Request: https://projects.blender.org/blender/blender/pulls/140411
2025-06-14 21:14:27 +02:00
Aras Pranckevicius
6251f7f0b0 Fix #140336: VSE scene strips with sequencer in them are not playing
The intra-frame cache was not notified of the current frame number
when rendering VSE through a scene strip.
2025-06-14 21:11:54 +03:00
Campbell Barton
7ae8e18f0b Cleanup: rename preferences for NDOF sensitivity
Clarify the terms for NDOF translation & rotation sensitivity.
Previously translation was named: "ndof_sensitivity" making it
sound like it would control rotation as well.
2025-06-14 16:35:51 +10:00
Campbell Barton
bb9d491ca5 Merge branch 'blender-v4.5-release' 2025-06-14 16:02:07 +10:00
Campbell Barton
fb3b1043d3 Cleanup: spelling in comments (make check_spelling_*) 2025-06-14 16:01:04 +10:00
Campbell Barton
c482c52346 Cleanup: sort CMake file lists 2025-06-14 15:57:33 +10:00
Campbell Barton
bb5f6d437e Cleanup: sort DNA rename definitions 2025-06-14 15:55:41 +10:00
Campbell Barton
6046b81e21 Cleanup: various minor chances to the NDOF API
- Use return values for NDOF access functions.
- Pass in event data by const reference as this is never null.
- Don't scale the angle from WM_event_ndof_to_axis_angle by the time
  delta since other functions don't do this, it's strange to make
  this an exception.
- Replace the term "pan" with "translation" since pan in Blender
  typically refers to moving the view in 2D using cursor input,
  not 3D transaction.
- Use a more descriptive term "time_delta" for the time between NDOF
  motion events.
2025-06-14 04:48:21 +00:00
Campbell Barton
fac42009ff Merge branch 'blender-v4.5-release' 2025-06-14 12:28:52 +10:00
Campbell Barton
d40aee71db Merge branch 'blender-v4.5-release' 2025-06-14 12:28:46 +10:00
Campbell Barton
eef3fc50f0 Cleanup: corrections to comments & typos 2025-06-14 12:28:18 +10:00
Campbell Barton
ce760b7f0b Fix NDOF panning in 2D views ignoring the delta time
The delta-time is used as a scale for panning in all other views.
2025-06-14 12:25:08 +10:00
Campbell Barton
a197b1811a Fix #140165: NDOF panning reversed
Regression in [0] caused NDOF panning to be reversed
and zoom to be inverted in the 3D viewport.

- Use 2D viewport behavior for cameras & rotation locked views
  since the navigation mode is not used in these cases.
- Restore the same zoom direction as 4.4x.

[0]: 64696cc699
2025-06-14 12:22:36 +10:00
Jesse Yurkovich
3fa1344dd7 Merge branch 'blender-v4.5-release' 2025-06-13 16:11:31 -07:00
Michael B Johnson
07342407d3 USD: Add support for Point Instancing during Export
Adds a Point Instancing exporter based on the existing
USDPointInstancerReader. Covers both round-trip and Blender-native
workflows. Exports 'Instance on Points' setups as USDGeomPointInstancer,
supporting objects, collections, and nested prototypes.

A warning is shown during export if invalid prototype references are
detected. These would occur if an instancer attempts to instance itself.

This feature is currently gated behind an off-by-default export option
(`use_instancing`) as there are still a few cases which can yield
incorrect results.

Further details in the PR.
Ref: #139758

Authored by Apple: Zili (Liz) Zhou

Pull Request: https://projects.blender.org/blender/blender/pulls/139760
2025-06-14 01:10:55 +02:00
Sean Kim
5c4748f8fc Cleanup: Use C++ math types for BKE_subdiv_eval.hh and related functions
The remaining function, `eval_vertex_data` is left as a raw array for
now, as the format is not cleanly defined, and is either 3 floats or 6
floats, depending on different settings enabled.

Pull Request: https://projects.blender.org/blender/blender/pulls/140315
2025-06-14 00:13:22 +02:00
Sean Kim
3ef4a106b8 Cleanup: Convert parameter comment into docstring
Pull Request: https://projects.blender.org/blender/blender/pulls/140318
2025-06-13 23:41:04 +02:00
Sean Kim
9bc98f304a Cleanup: Remove unnecessary const for function parameters
Pull Request: https://projects.blender.org/blender/blender/pulls/140317
2025-06-13 23:30:46 +02:00
Sean Kim
6e32b7a115 Cleanup: Convert eAverageWith to enum class
Pull Request: https://projects.blender.org/blender/blender/pulls/140327
2025-06-13 23:29:29 +02:00
Harley Acheson
13c9ac9de9 Fix #140372: Draw Block Contents at Negative Position
While trying to keep content within narrowing areas with ca3076ed35, I
was a bit overzealous. Content needs to show within a rect with
negative positioning as shown in this report.

Pull Request: https://projects.blender.org/blender/blender/pulls/140380
2025-06-13 22:15:50 +02:00
Harley Acheson
24a80f250e UI: Increase Area Padding at Window Edges
This PR slightly increases the area border padding at the window edges.
The current lack of padding looks awkward when paired with area
highlighting since that line hits the window edges.

Pull Request: https://projects.blender.org/blender/blender/pulls/137925
2025-06-13 19:58:40 +02:00
Howard Trickey
d230aa498e Merge branch 'blender-v4.5-release' 2025-06-13 10:54:34 -04:00
Rob Blair
fc0b659066 Fix divide by zero in Bevel.
The [Fix #125024: Bevel offset - eliminate divide by 0] (#126309)
in response to [Bevel Modifier creates unwanted geometries] (#125024)
created "divide by 0" situations when checking for clamp overlap geometry
in the bevel modifier. This PR eliminates this undefined behavior.

Original PR by Rob Blair. Modified by make format and added
a needed include.
2025-06-13 10:47:56 -04:00
Miguel Pozo
f4e6ad4d24 Core: Use VectorList for duplilists
Replace Listbase with a VectorList for duplist generation.

Performing one heap allocation for each dupli becomes very costly on
scenes with many instances.
Using a VectorList can make playback up to 15% faster.

Most scenes will have lower performance improvements,
but none of the ones I tested were slower.

VectorLists also have the advantage of being able to query the size of
the duplilist.

Pull Request: https://projects.blender.org/blender/blender/pulls/138947
2025-06-13 16:28:54 +02:00
Hans Goudey
4b4ed8bccc Mesh: Split paint overlay flag data from normals buffers
For paint modes the selection and visibility were encoded in in the W
component of the normals. Separating the normals  into a separate vertex
buffer, though it increases memory usage a bit in those paint modes,
means the status doesn't need to be computed outside of paint modes,
and the whole system becomes less convoluted and easier to optimize.
The particular optimization I have in mind is better caching of vertex
buffers, which gets much more complicated when the normals VBO contains
data like selection and visibility and depends on the paint mode.

Internally, a there are now three mesh draw batches that are specific to
the paint overlay. The GPU subdivision normals buffer is now just three
components rather than 4 components.

Pull Request: https://projects.blender.org/blender/blender/pulls/140156
2025-06-13 16:08:46 +02:00
Clément Foucault
af291eecce Cleanup: ViewLayer: Move defaults to DNA defaults 2025-06-13 16:00:53 +02:00
Clément Foucault
77b2bbd78e Fix: EEVEE: Wrong default on scene creation and startup file
- Shadow not enabled in new scenes
- Volume custom range enabled in default startup files
2025-06-13 16:00:53 +02:00
Mattias Fredriksson
9e2e90e8ce Cleanup: Inline NURBS methods for computing length of knots/points vector
Inlines knots_num() and adds an inlined utility function for computing
the total number of points in a nurbs curve. This should avoid potential
code duplication and allows behavior to be searched for.

Named function 'control_points_num()' to differentiate from the
'points_num' variable (referencing the number of unique points).

Pull Request: https://projects.blender.org/blender/blender/pulls/140248
2025-06-13 15:59:13 +02:00
Clément Foucault
a353fb3527 GPU: Remove use_select_pick_depth option
This option does nothing since 4.4. This commit
just remove it from the API, and clear the bit inside the DNA.

Pull Request: https://projects.blender.org/blender/blender/pulls/140338
2025-06-13 15:38:15 +02:00
Clément Foucault
1c29a2e2e5 EEVEE: Rename and move old gtao properties
- Move `gtao_distance` to view layer and rename to
  `ambient_occlusion_distance` (API change).
- Remove `gtao_quality` from the RNA (API change).
- Remove `use_gtao` (unused) from the RNA (API change).
- Rename `gtao_focus` to `fast_gi_bias` in the DNA (no API
  change).
- Rename `gtao_resolution` to `fast_gi_resolution` in the
  DNA (no API change).

Pull Request: https://projects.blender.org/blender/blender/pulls/140298
2025-06-13 15:36:17 +02:00