Commit Graph

145990 Commits

Author SHA1 Message Date
John Kiril Swenson
0141bbb71c Cleanup: VSE: Clarify selection code
Rename a few functions to more accurately express their intent:
- `sequence_handle_size_get_clamped()` ->`strip_handle_draw_size_get()`
- `clickable_handle_size_get()` -> `inner_clickable_handle_size_get()`

Additionally:
- Move check for making strips unclickable when they are short enough in
  the vertical direction from `sequencer_main_cursor()` to
  `ED_sequencer_get_handle()`.
- Use `inner_clickable_handle_size_get()` in box select with handles.
- Add clarifying comments that calculate exact handle sizes.

There should be no functional changes (barring a tiny change in box
select with handle calculation).
2025-02-02 22:53:07 -06:00
Jesse Yurkovich
3c9a71b46f Fix #132465: Align Alembic/USD crease values with that of OpenSubdiv
In order to better interop with the broader Alembic/USD ecosystem, align
the crease values we export with what we believe is expected by native
OpenSubdiv, a 0-10 range.

On import we will translate the native OpenSubdiv range back into
Blender's 0-1 range.

To account for SubD assets produced by Blender before this change, a
compat check is put in place for both Alembic and USD to use the old
methodology when encountering such files. The compat check makes use
of the Blender version we place inside the format's metadata fields. Old
assets loaded into a new Blender will look ok. New assets loaded into an
old Blender would need to be reworked.

Pull Request: https://projects.blender.org/blender/blender/pulls/132582
2025-02-03 04:38:58 +01:00
Alaska
a647bb2533 Tests: Add render test for Mix Color nodes
This commit adds render tests for every mode of the Mix Color node.
This improves the code coverage of the color_utils file in Cycles from
~17% to 91% (Some of the untested lines are from functions used by
nodes other than the mix color node).

Ref: blender/blender-test-data!51
2025-02-03 04:19:22 +01:00
Alaska
ce4722a954 Cleanup: Use RenderReport variation in Cycles render tests
In ea7d07098b, the RenderReport base
class was reworked to work better with test variations.

This commit reworks the Cycles render tests file to use the new
variation system for Hardware Ray tracing and OSL tests, avoiding the
custom system put in place in previous commits.

Pull Request: https://projects.blender.org/blender/blender/pulls/133813
2025-02-03 04:16:27 +01:00
Aaron Carlisle
3369d12abb UI: Fix "Levels" Consistency between Subdiv and Multires Modifiers
The Subdivision Modifier used "Levels" and the Multiresolution Modifier used "Level". This difference is changed to be "Levels" for both, which aligns with similar UI terminology where plural forms indicate adjustable values, such as "Render Samples".

Ref blender/blender-manual#105098
2025-02-02 20:13:39 -05:00
Harley Acheson
f631607df4 UI: Status Bar Confirm Then Cancel
When displaying keymaps on the Status Bar we prefer to show Confirm and
then Cancel.  We have a few places where these are reversed
accidentally. This just makes these consistent with the rest.

Pull Request: https://projects.blender.org/blender/blender/pulls/133947
2025-02-03 01:17:12 +01:00
Harley Acheson
02765b76cc UI: Fly Navigation Status Bar Display
Simplify and enhance the status bar display while in Fly navigation.
Combines some keymaps together, uses toggles, shows acceleration.

Pull Request: https://projects.blender.org/blender/blender/pulls/133945
2025-02-03 00:55:15 +01:00
Harley Acheson
3723906e30 UI: Walk Navigation Status Bar Display
Simplify and enhance the status bar display while in Walk navigation.
Combines some keymaps together, uses toggles, shows acceleration and
jump height values.  Goes from about 1600 pixels wide at 1X scale to
about 1250 pixels even though it shows more information.

Pull Request: https://projects.blender.org/blender/blender/pulls/133928
2025-02-02 20:29:37 +01:00
Campbell Barton
b2dc852b1b Docs: note why operator "register" flag is set without "undo" 2025-02-02 15:25:34 +11:00
Pratik Borhade
175d812797 Fix #109631: Restore default value operator removes redo panel
Inside `wm_operator_finished`, hud_status is set to `CLEAR` after `reset
to default value` operator.  `CLEAR` status further calls
`ED_area_type_hud_clear()` to free the hud region. This happens as
`do_register` is false due to missing `OPTYPE_REGISTER` flag.

Ref: !133761
2025-02-02 15:00:42 +11:00
Campbell Barton
7f57f5c6d6 Unbreak build WITH_PYTHON=OFF
Also correct argument handling when Python arguments were passed in,
which were attempting to handle the following parameters as arguments
instead of skipping them.
2025-02-02 14:39:34 +11:00
Campbell Barton
7413a8a4f0 Refactor: clarify logic for 3D view dolly, improve docs
The dolly operators poll function was set to `view3d_rotation_poll`
instead of `view3d_zoom_or_dolly_poll` which reads like a mistake.

As it happens this didn't cause any user visible problems because
RV3D_LOCK_ZOOM_AND_DOLLY is only set when all other locks are set.

Nevertheless, logically the dolly operator should check that dolly
is not locked. Updated the poll function for dolly to check neither
rotation or zoom/dolly is locked with comments noting why both are
needed.

Also expand on code-comments for why dolly enforces perspective view.
2025-02-02 13:58:34 +11:00
Campbell Barton
59732c95d8 Cleanup: strip trailing space for TOML,HTML & XML 2025-02-02 13:58:34 +11:00
Campbell Barton
36531006da Cleanup: use const pointer for the gravity vector 2025-02-02 13:58:34 +11:00
Campbell Barton
4cd827870d Cleanup: quiet check_spelling_* targets
Also correct outdated references to `ghash`.
2025-02-02 13:58:34 +11:00
Campbell Barton
53c61f6aa5 Makefile: include doc & build_files in spell checking 2025-02-02 13:58:21 +11:00
Sean Kim
857e9cbbef Cleanup: Minor changes to sculpt brush helper functions
* Moves into the blender::ed::sculpt_paint namespace
* Removes `SCULPT_` prefix
* Adds `brush_uses_vector_displacement` for common usage elsewhere

Pull Request: https://projects.blender.org/blender/blender/pulls/133900
2025-02-01 19:44:32 +01:00
Bastien Montagne
aff2cf97a1 Revert "Refactor: Move 'need link' and 'need expand' ID tags to runtime readfile data."
Creates a very mysterious crash in nodetree code when using deprecated
'full undo'. Needs more investigation, we need to understand what's
happening here!

This reverts commit 2612b27e42.
2025-02-01 19:35:12 +01:00
Julien Duroure
8abac73cbd glTF exporter: avoid crash when no tracks are exported 2025-02-01 19:06:45 +01:00
Julien Duroure
196cda9eef glTF exporter: Fix typo leading to crash at animation export (nla track mode) 2025-02-01 19:05:14 +01:00
Julien Duroure
83f9ed8771 glTF: New way of registering UI for hooks
- Explicit registration for hook UI
- Added some example in upstream repo: https://github.com/KhronosGroup/glTF-Blender-IO/blob/main/example-addons/example_gltf_exporter_extension/__init__.py
2025-02-01 18:59:03 +01:00
Julien Duroure
cccd45e32a glTF exporter: Create output directory if not exists
This should happen mainly for Collection Exporter or using api
2025-02-01 18:55:46 +01:00
Julien Duroure
3d2f45b408 glTF: Collection Exporter: Set collection custom props as glTF Scene extras
As we are exporting Collection only, it makes sense that the collection customs props
can be exported as glTF Scene extras, as the scene includes only objects from the collection
2025-02-01 18:52:53 +01:00
Julien Duroure
6aae3004fc glTF exporter: add pre & post export hooks 2025-02-01 18:49:38 +01:00
Brecht Van Lommel
7f0f8b0e46 Tests: Use descriptive name for tests in reports category 2025-02-01 13:03:39 +01:00
Brecht Van Lommel
4c2fb20e93 Tests: Fix and workaround Metal difference for Storm
* Disable Metal multisampling to match OpenGL.
* Block list all image half/float tests, these can all fail randomly.
* Blocklist tests failing due to issues in OpenUSD Metal implementation.
2025-02-01 13:03:39 +01:00
Brecht Van Lommel
4ec46eeca4 Tests: Reduce test file sizes and runtime
* Compress all test blend files to save space. Note these files were not
  resaved in Blender, but compressed directly with zstd so that any
  versioning of old files is still tested.
* Compress some heavy EXR files with DWAA
* Merge blend files testing same BSDF with different parameters.
* Reduce resolution or object size for some slow tests.
* Move volume grid related files from volume to openvdb folder.
* Remove some unused and obsolete opengl test files
* Remove old EEVEE reference images

.blend files on disk: 977 MB -> 224 MB
Test data repo on disk: 1343 MB -> 449 MB
Cycles test time: 163s -> 129s
2025-02-01 13:03:39 +01:00
Harley Acheson
f5a07e715f UI: Status Bar Display for Pose Inbetweening
For all 5 items in the Pose Mode, Post, In-Betweens, improve the
display of the status bar by using icons, state highlighting, etc.

Pull Request: https://projects.blender.org/blender/blender/pulls/133462
2025-01-31 23:33:27 +01:00
Sean Kim
f87dd03eb5 Tests: Raise error if global and output directories match
When a given render test defined in CMakeLists.txt with a `--outdir`
parameter ends with a trailing slash, the resulting global report
overwrites the specific test's report. This is because `os.path.dirname`
for a path that ends in a slash returns the same directory, for example,
`os.path.dirname('foo/bar/') => 'foo/bar'

To avoid tests being able to put the report into a weird state, this
commit normalizes the `--outdir` path to strip trailing slashes.

Pull Request: https://projects.blender.org/blender/blender/pulls/133791
2025-01-31 22:31:43 +01:00
Hans Goudey
abc8796cab Curves: Optimize edit/sculpt mode index buffer creation
Avoid function call overhead and parallelize the creation of the edit
and sculpt mode lines index buffers. Also, remove an extra index that
was added for each curve when there are no cyclic curves.

Though ideally these index buffers would be generated on the GPU, this
simple change makes this part of the GPU data building almost 5x faster
(from 1.23 ms to 0.25 ms for curves with 80 thousand points).

Pull Request: https://projects.blender.org/blender/blender/pulls/133897
2025-01-31 21:47:16 +01:00
Hans Goudey
3630fd78d5 Cleanup: Depsgraph: Avoid transative includes and type aliases
Instead of the monolothic `depsgraph_type.hh` header that includes
most types used in the despgraph, just add includes where they are
actually necessary. Also remove the `using` keywords for `std` types.
The lack of specificity isn't considered good practice nowadays.

Removing unnecessary transitive includes can help improve compile
times because the time spent parsing headers decreases. Using the
"include what you use" pattern makes futher improvements much
easier too, since it the path to further reduce transitive includes
becomes much clearer.

Pull Request: https://projects.blender.org/blender/blender/pulls/133749
2025-01-31 21:17:49 +01:00
Bastien Montagne
b53a372b6f Fix Outliner missing update on several TemplateID operations.
Simply always request Outliner update when running any operation in
`template_id_cb` that triggers an undo step.

Found while checking on #43598.
2025-01-31 20:44:53 +01:00
Hans Goudey
59f9e93413 Mesh: Avoid computing vertex normals for corner normals
The algorithm to calculate face corner normals had a vertex normal
input, with the intention to pre-populate corner normals for vertices
with no sharp connected edges. However corner normals are calculated
separately for these fully sharp vertices later anyway, so this whole
step was completely redundant. Removing the vertex normals calculation
reduces memory usage and improves performance. In a test file with a
character with custom normals, this changed improved the playback FPS
by 15%, from 41 to 47 FPS. The impact will usually be lower than that
but it should be noticeable in other scenes too.

Pull Request: https://projects.blender.org/blender/blender/pulls/133884
2025-01-31 19:59:28 +01:00
Guillem Baldi
2536b04a21 Fix #133104: Make Indices Overlay look like Attribute Viewer
The Indices Overlay used a blue color without shadow to render the
indices in edit mode unlike the Attribute Viewer which uses white text
with shadow. So for consistency, the Indices Overlay has been changed
to use the same style.

Pull Request: https://projects.blender.org/blender/blender/pulls/133262
2025-01-31 19:01:18 +01:00
Brecht Van Lommel
569e0f5e7f Fix: Build error in eevee tests after recent cleanups 2025-01-31 18:46:01 +01:00
Brecht Van Lommel
e2fd3f64fa Fix: ASAN error running tests with color management processing
processor_apply_func expected a different return type.

Pull Request: https://projects.blender.org/blender/blender/pulls/133885
2025-01-31 18:45:46 +01:00
Clément Foucault
12748e5521 Fix: Overlay: Add back support for empty scale in armature custom shape
This function was not ported during the overlay-next project.
2025-01-31 18:26:44 +01:00
Clément Foucault
a50e07a533 Fix #133699: Overlay: Empty as Bone custom shape display error
Add workaround path to process the vertices the same way as
the `overlay_extra_vert` shader.
We nudge the non-origin vertices in the batch to be able
to not require loading the VCLASS attribute. Thus making
the change local to the shader and not requiring another
shader variant.
2025-01-31 18:26:44 +01:00
Clément Foucault
976ed42533 Cleanup: GPU: Use functional cast for scalar casting 2025-01-31 18:26:44 +01:00
Philipp Oeser
adf5491c0b Fix #133854: Grease Pencil auto-masking not working anymore
Previously, the check to get strokes under the cursor used
SEARCH_RADIUS_PIXEL (20), since 1eb39a8689,
this is now using the real brush radius which is wrong.

To resolve, go back to 20 as a hardcoded value.

Pull Request: https://projects.blender.org/blender/blender/pulls/133881
2025-01-31 17:46:59 +01:00
YimingWu
44f2c4836f Fix #132743: Grease Pencil: Support drawing primitives on the back
The "On Back" option in the viewport draw mode allows new strokes to be
placed behind existing strokes, grease pencil will now recognize this
option when using primitives drawing tool.

Pull Request: https://projects.blender.org/blender/blender/pulls/132787
2025-01-31 17:46:27 +01:00
Jeroen Bakker
9f5d8756fc Fix #133866: Compositor: Incorrect Binding info keying node
Keying node has incorrect binding info, what leads to incorrect results
when running on Mesa/RADV driver.

Pull Request: https://projects.blender.org/blender/blender/pulls/133877
2025-01-31 17:20:05 +01:00
Brecht Van Lommel
c625724ed0 Cleanup: Remove some unused variables
Noticed miny was computed wrong, but actually none of these are used.
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
ec0fc49fb8 Cleanup: Remove unused BLI_blenlib.h 2025-01-31 17:03:18 +01:00
Brecht Van Lommel
93d7b85264 Cleanup: Various clang-tidy warnings in makesrna
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
7802dcf7ac Cleanup: Various clang-tidy warnings in creator
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
0d92a7f57a Cleanup: Various clang-tidy warnings in intern
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
c721c1a7e8 Cleanup: Various clang-tidy warnings in simulation
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
3bbafc5a9a Cleanup: Various clang-tidy warnings in shader_fx
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00
Brecht Van Lommel
112cd9cc20 Cleanup: Various clang-tidy warnings in sequencer
Pull Request: https://projects.blender.org/blender/blender/pulls/133734
2025-01-31 17:03:18 +01:00