Commit Graph

100345 Commits

Author SHA1 Message Date
Iliya Katueshenock
14e96a9082 Cleanup: Move versioning file 2.7 to C++
1. `NULL` -> `nullptr`.
2. Cast `void *` to `T *` by using `static_cast`.
3. Using `LISTBASE_FOREACH` instead of manual for-loops.
4. `UNUSED` -> `/* ... */`
5. `#include <....h>` -> `#include <...>`

See #103343

Pull Request: https://projects.blender.org/blender/blender/pulls/108484
2023-06-12 18:34:47 +02:00
Hans Goudey
c1e2d01ce3 Cleanup: Move spacetypes.c to C++
See #103343

Pull Request: https://projects.blender.org/blender/blender/pulls/108905
2023-06-12 18:30:55 +02:00
Hans Goudey
655f00bb41 UI: Use property split for geometry nodes modifier bake path 2023-06-12 12:06:14 -04:00
Hans Goudey
612e306598 Attributes: Add identity default value to quaternion type
Missing from 1e4b80fed9.
2023-06-12 11:36:49 -04:00
Ray Molenkamp
8ba32c65a3 Merge remote-tracking branch 'origin/blender-v3.6-release' 2023-06-12 08:52:31 -06:00
Hans Goudey
b275851d1c Attributes: Support quaternion attribute in spreadsheet
Support drawing quaternion attributes. Row filters remain unimplemented.
2023-06-12 10:47:06 -04:00
Almaz Shinbay
a7ac317159 Outliner: Port linestyle elements to new tree-element code design
No user visible changes expected.

Part of #96713, continuation of work started in 249e4df110 and 2e221de4ce.
Refer to these for a motivation and design overview.

Adds a new tree-element class for linestyle IDs.

Pull Request: https://projects.blender.org/blender/blender/pulls/108887
2023-06-12 16:03:25 +02:00
Hans Goudey
1e4b80fed9 Attributes: Add quaternion rotation type
Add a quaternion attribute type that will be used in combination with
rotation sockets for geometry nodes to give a more intuitive experience
and better performance when using rotations.

The most interesting part is probably the interpolation, the rest is
the same as the last attribute type addition, 988f23cec3.
We need to interpolate multiple values with different weights.
Based on Sybren's suggestion, this uses the `expmap` methods from
4805a54525 for that.

This also refactors `SimpleMixerWithAccumulationType` to use a
function rather than a cast to convert to the accumulation type.

See #92967

Pull Request: https://projects.blender.org/blender/blender/pulls/108678
2023-06-12 15:49:50 +02:00
Jeroen Bakker
ccbab842b7 Vulkan: Indirect Compute
This PR adds support for indirect compute.
Indirect compute is almost the same as regular compute. The
only difference is that the parameters for the compute dispatch
isn't passed as a parameter, but that these parameters are part
of a buffer.

Pull Request: https://projects.blender.org/blender/blender/pulls/108879
2023-06-12 14:56:38 +02:00
Hans Goudey
107c5e39aa Fix: OffsetIndices assert with invalid span
In some cases (when there are no faces for example, the offsets span
can have a size of 1 but no data). That's technically invalid and might
need to be addressed more later on, but for now, just fix the assert.
2023-06-12 08:48:21 -04:00
William Leeson
d75be31b18 Fix build failing due to missing dna offsets for realtime compositor
Add dependency like other modules.

Pull Request: https://projects.blender.org/blender/blender/pulls/108890
2023-06-12 14:47:46 +02:00
Lukas Tönne
f09d465a6d Fix #108376: Copy from geometry to other node tree types resets shapes
Socket shapes are used in geometry nodes to indicate field types.
In other tree types (e.g. shaders) the socket shape is not touched at
all. Since nodes can be copied from geometry node trees, we need to
reset the socket shape when copying to a shader, compositor, or texture
tree.

Pull Request: https://projects.blender.org/blender/blender/pulls/108412
2023-06-12 14:21:50 +02:00
Hans Goudey
fddd83f8b1 Merge branch 'blender-v3.6-release' 2023-06-12 07:56:15 -04:00
Hans Goudey
18350ba06a Fix #108817: Extrude node crash with vertex-only input
The `.edge_verts`attribute might not exist if there were no edges.
2023-06-12 07:52:00 -04:00
Hans Goudey
8a3dad6f14 Refactor: Move geometry nodes execute implementation for reusability
For node group operators (#101778), it helps to reuse the existing
geometry nodes execution. This commit adds a new moves most
of the geometry computation to the nodes module and gives the
modifier (and in the future the operator) a callback to setup the
execution context.

Pull Request: https://projects.blender.org/blender/blender/pulls/108482
2023-06-12 13:31:09 +02:00
Jeroen Bakker
dd044afd1e Vulkan: Fix Shader Compilation Errors
It is not allowed to add an extra semicolon after a function body.

```
eevee_nodetree_lib.glsl:259:0: Error: 'extraneous semicolon' : not
supported for this version or the enabled extensions
```

Pull Request: https://projects.blender.org/blender/blender/pulls/108886
2023-06-12 13:25:57 +02:00
Miguel Pozo
6a77345328 GPU: Fix ShaderBuilder MSVC compilation
Add missing stubs and ensure the correct linker flags.

Note: This applies the linker flags on Linux too.

Pull Request: https://projects.blender.org/blender/blender/pulls/108820
2023-06-12 13:09:42 +02:00
Julian Eisel
acb4f89a40 UI: Add filtering support to UI views
No user visible changes expected.

Needed for the asset shelf (#102879).

Adds a UI operator triggered on Ctrl+F that will attempt to start
filtering for the hovered UI view, typically enabling a filter text
button.

View items can implement their own filter method, there's no default
one. Maybe we should add default or re-usable string filtering method
though.
Filtering is applied after constructing the view and filtered out (as
in, invisible) items are kept in storage, so that their state
(selection, active, etc.) is preserved. The filtered state is cached in
the item, so this is only done once per redraw.
2023-06-12 12:31:11 +02:00
Jeroen Bakker
b8ce3f69b1 Cleanup: Fix Compilation Warning
On Mac there is a compilation warning when compiling without support
for open image denoising.

Pull Request: https://projects.blender.org/blender/blender/pulls/108882
2023-06-12 12:12:25 +02:00
Almaz Shinbay
b67e5492c3 Outliner: Port texture elements to new tree-element code design
No user visible changes expected.

Part of #96713, continuation of work started in 249e4df110 and 2e221de4ce.
Refer to these for a motivation and design overview.

Adds a new tree-element class for texture IDs.

Pull Request: https://projects.blender.org/blender/blender/pulls/108697
2023-06-12 11:57:14 +02:00
Jeroen Bakker
33301a06ce Cleanup: Solve Compilation Warning 2023-06-12 11:08:37 +02:00
Philipp Oeser
2beb1bc38f Merge branch 'blender-v3.6-release' 2023-06-12 10:00:07 +02:00
Philipp Oeser
d75aeb03e5 Fix #108707: Parent space Transform ignores armature objects rotation
Seems like an oversight in 5c4b0c98d3.

Child bones would calculate their orientation from the parent bone local
alone, now multiply take the armature objects world transform into account as well.

Pull Request: https://projects.blender.org/blender/blender/pulls/108755
2023-06-12 09:59:14 +02:00
Jeroen Bakker
84f1c4e16c Merge branch 'blender-v3.6-release' 2023-06-12 08:44:14 +02:00
Jason Fielder
99931a5154 Metal: Fix failing texture unit tests
Resolves failing unit tests where missing texture read support for
1D/3D textures was required. Also resolves a number of missing
format support cases when determining texture component
count and byte size for reading/writing.

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/108751
2023-06-12 08:43:10 +02:00
Jason Fielder
6504ba980e Metal: Resolve zero initialization in failing math shader tests
Math tests failing in Metal due to non-zero-initialized values
and shader compilation error caused by mutli-component
boolean being implicitly evaluated.

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/108758
2023-06-12 08:39:11 +02:00
Jason Fielder
91e15ca2fa Fix #107159: Resolve wireframe depth issue in Metal
Bug in Metal when gl_FragDepth is used but not written to by a shader
causing depth-based navigation to fail. Patch ensures gl_FragDepth
is assigned a default value at the current depth from the vertex
shader to catch all edge-cases of this.

Authored by Apple: Michael Parkin-White

Co-authored-by: Michael Parkin-White <mparkinwhite@apple.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/108453
2023-06-12 08:37:50 +02:00
Jeroen Bakker
a05dfdbadf Cleanup: Make format 2023-06-12 08:16:30 +02:00
Richard Antalik
f4d6edd476 VSE: Add "Set Speed" gizmo to retiming tool
This gizmo is now responsible for drawing labels with speed of retimed
segments. By clicking on the value it is possible to type in new speed,
which is more convenient, than dragging handles by hand.

Note: Due to granularity of frames, the precise value may not be
respected.

Pull Request: https://projects.blender.org/blender/blender/pulls/108422
2023-06-12 02:30:41 +02:00
Chao Li
126bff3099 GPv3: "Select Linked" operator
This adds `GREASE_PENCIL_OT_select_linked` operator for the new grease pencil data.

Resolves #108750.

Pull Request: https://projects.blender.org/blender/blender/pulls/108829
2023-06-11 17:35:49 +02:00
Casey Bianco-Davis
825d2d301b GPv3: "Select More" and "Select Less" operators
Adds `GREASE_PENCIL_OT_select_more` and `GREASE_PENCIL_OT_select_less` operators for the new grease pencil system.

Resolves #108752.

Pull Request: https://projects.blender.org/blender/blender/pulls/108847
2023-06-11 16:09:11 +02:00
Casey Bianco-Davis
9e706deaf6 Fix #108688: GPv3 Crash at ended of drawing operation.
The problem was that the attribute layers may not exist when the operator ran.

The fix is to use `lookup_or_add_for_write_span` instead of `lookup_for_write_span`.

Pull Request: https://projects.blender.org/blender/blender/pulls/108851
2023-06-11 15:31:13 +02:00
Campbell Barton
9520dba066 Cleanup: naming & return value for writefile's do_history
- Rename name -> filepath.
- Rename hisnr -> version_number.
- Return true on success.
2023-06-11 16:37:08 +10:00
Campbell Barton
691c0fc43a Fix saving a blend file that's FILE_MAX length failing to version
While a corner case, saving FILE_MAX length files should be supported.
2023-06-11 16:37:07 +10:00
Ray Molenkamp
b7b2e08dcb Revert "Deps_builder: Move Windows build from MinGW/GCC to msys2/MSVC"
This reverts commit 451751380c.

Seems like this broke linux/mac, likely needs to detect of libxvid
is there or not. For now revert until we sort this out.
2023-06-10 16:24:17 -06:00
Anthony
451751380c Deps_builder: Move Windows build from MinGW/GCC to msys2/MSVC
Currently, Windows some dependencies are built with MinGW/GCC 3.x
this commit removes that, in favor of building them with MSVC
via msys2. This will make it easier in the future to offer Win/Arm64
builds of blender.

Notable changes:

- This change drops support for the external libxvid library in favor
of ffmpegs built in support for this format. This has been done with
permission from the VFX module.

Pull Request: https://projects.blender.org/blender/blender/pulls/105502
2023-06-10 23:05:49 +02:00
Lukas Stockner
d79524e309 Cleanup: format 2023-06-10 15:37:51 +02:00
Campbell Barton
90f123e95a Cleanup: remove unused text editor documentation functions 2023-06-10 17:35:58 +10:00
Campbell Barton
a2865b701d Cleanup: rename max-length to maxncpy as this includes the null byte 2023-06-10 17:21:24 +10:00
Campbell Barton
39516324d2 Cleanup: various minor changes (code_clean.py) 2023-06-10 17:08:08 +10:00
Campbell Barton
95ca04dc20 Text Editor: remove support for syntax highlighting LUA
Removed because support for languages which Blender it's self doesn't
support seems unnecessary.

Ref !108689
2023-06-10 16:15:33 +10:00
Sergey Sharybin
823514fd6f Fix #108778: Crash when rendering multiple view layers
The rendering pipeline will re-use dependency graph and request
for re-building its relations for every new view layer, and try
to re-use as much evaluation as possible.

This could potentially run into situation when a content of
collection is changed: due to the difference in the per-view
layer visibility. If the evaluated collection has an object cache
this will make the cache to get out-of-sync with the actual
content. The cache on the evaluated collection might be created
when instancing system iterates over the collection.

This change makes it so the cache is freed when the dependency
graph relations are updated. This might be a bit too intrusive.
There might be ways to somehow ensure the content of the collection
is still the same as it was before the relations update, but this
is much more complicated task. Perhaps the performance is already
good enough.

This is a collaboration with Jacques Lucke, who was looking into
the same report, bouncing some ideas back and forth, and helped
testing the patch.

Pull Request: https://projects.blender.org/blender/blender/pulls/108816
2023-06-09 18:42:01 +02:00
Chao Li
b3356b1799 Mesh: Remove unnecessary mesh position copying
Remove unnecessary mesh position copying in the following places:
1. hair dynamics
2. shrinkwrap remesh target project
3. normal projection calculation in shrinkwrap (hidden copying)
4. multires modifier: reshape from object
5. vertex weight proximity modifier remesh

See #103789.

Pull Request: https://projects.blender.org/blender/blender/pulls/108721
2023-06-09 18:38:35 +02:00
Hans Goudey
d651ee69bd Cleanup: Use explicit default for corner normals optional parameter 2023-06-09 11:53:40 -04:00
Julian Eisel
11f1265066 Assets: Ignore ID type filter when not set
When no ID type filter is set, all ID types should be visible. Otherwise
there's no way to make all ID types visible when the filtering must be
called (e.g. because filtering by tags is to be applied).
2023-06-09 17:22:43 +02:00
Hans Goudey
250c9ccc10 Cleanup: Avoid using custom data type enum incorrectly
The data transfer code stored values not in the `eCustomDataType`
enum in this variable, so the type was incorrect. Instead use a cast
when we expect the value to be a valid enum value.
2023-06-09 11:10:40 -04:00
Hans Goudey
09a4cc1f1d Merge branch 'blender-v3.6-release' 2023-06-09 11:08:24 -04:00
Hans Goudey
6a3ca93c7e Fix #108788: Data transfer nearest interpolated broken
Copy and paste mistake in d0705bd697.
2023-06-09 11:07:49 -04:00
Bastien Montagne
9e36690f6b Merge branch 'blender-v3.6-release' 2023-06-09 16:59:26 +02:00
Bastien Montagne
44e4b5fe33 Fix (unreported) Object's particle 'foreach_id` potentially accessing other IDs data.
Spotted while investigating #107860: Interactions with timeline after undo makes Blender crash.
Cannot reproduce any more crashes from this report.
2023-06-09 16:58:35 +02:00