Commit Graph

103733 Commits

Author SHA1 Message Date
Harley Acheson
651d6eb229 Cleanup: Make format
Formatting changes resulting from Make Format
2023-10-12 08:04:53 -07:00
Harley Acheson
56aa7f58e9 Merge branch 'blender-v4.0-release' 2023-10-12 07:58:44 -07:00
Harley Acheson
1a648f5b22 UI: Window Title Blender Path Changes
Do not show extension of initial name, and include full file name
in the path section.

Pull Request: https://projects.blender.org/blender/blender/pulls/113560
2023-10-12 16:56:56 +02:00
Falk David
faa24698a5 GPv3: Implement expanding of Grease Pencil component in the spreadsheet
This patch adds the ability for users to expand the grease pencil component in the spreadsheet and see the values for each `CurvesGeometry` in each layer.

It also makes it so that all the geometry components can be expanded for consistency.

Pull Request: https://projects.blender.org/blender/blender/pulls/113507
2023-10-12 16:51:44 +02:00
Christoph Lendenfeld
3792c2720d Refactor: remove ED_ prefix from autokeying functions
No functional changes

Since the functions now live in a namespace,
they no longer need the prefix

as a result there are now 2 functions named
`autokeyframe_object`
which is fine because they take different parameters

If both are needed is for a future patch to investigate

Pull Request: https://projects.blender.org/blender/blender/pulls/113612
2023-10-12 16:32:29 +02:00
Christoph Lendenfeld
1f995917a9 Refactor: Replace autokey macros with functions
No functional changes

The following macros have been replaced with identically named functions
* IS_AUTOKEY_ON
* IS_AUTOKEY_MODE
* IS_AUTOKEY_FLAG

Pull Request: https://projects.blender.org/blender/blender/pulls/113610
2023-10-12 16:20:18 +02:00
Christoph Lendenfeld
a3831fe7af Refactor: Move autokeyframing functions to animrig
No functional changes

The following functions have been moved
`autokeyframe_cfra_can_key`
`autokeyframe_object`
`ED_autokeyframe_object`
`ED_autokeyframe_pchan`
`ED_autokeyframe_property`

they are all in a new file
keyframing_auto.cc
while the declarations are in
ANIM_keyframing.cc

The autokeyframe makros also have been moved

Pull Request: https://projects.blender.org/blender/blender/pulls/113607
2023-10-12 15:44:58 +02:00
Falk David
49b21eba11 GPv3: Support crazyspace in selection code
This adds `GreasePencilEditHints` and correctly implements
`crazyspace::get_evaluated_grease_pencil_drawing_deformation`
to support querying the deformation of points after evaluation.
This is needed for users to properly select points in edit mode while
seeing the effects of the modifiers.

Pull Request: https://projects.blender.org/blender/blender/pulls/113586
2023-10-12 15:42:04 +02:00
Jeroen Bakker
7501a686c2 Vulkan: Fix Subpass Transition Compilation Errors
Vulkan backend doesn't support subpass transition yet. Currently
shader_builder fails as when compiling shaders that use subpass
transitions.

This PR adds a dummy global variable to the GLSL so the compilation
continues.

Development of subpass would take some time as the current API doesn't
fit Vulkan.

Pull Request: https://projects.blender.org/blender/blender/pulls/113604
2023-10-12 15:11:26 +02:00
Campbell Barton
69f437c061 Cleanup: remove redundant call to BLI_freelistN 2023-10-13 00:05:47 +11:00
Campbell Barton
1c9eae982a Merge branch 'blender-v4.0-release' 2023-10-13 00:04:16 +11:00
Campbell Barton
59db44ad65 Fix animation player failing to play back JPEG 2000 image sequences 2023-10-13 00:02:02 +11:00
Hans Goudey
de47c2a8b4 Cleanup: Use const pbvh node pointers for some accessor functions 2023-10-12 14:51:51 +02:00
Hans Goudey
9ab290e1b3 Cleanup: Simplify sculpt faces mask undo loop
This is already separated per PBVH type, we can make use of that
to simplify the loops for the types with the aim of sharing code in
a simpler and more performance-friendly way. Ideally this could
be written as `array_utils::scatter`, but we don't have that utility
function now, so just write the raw loop for now.
2023-10-12 14:51:51 +02:00
Campbell Barton
82105bc408 Merge branch 'blender-v4.0-release' 2023-10-12 23:42:30 +11:00
Campbell Barton
78d1e9f48c Merge branch 'blender-v4.0-release' 2023-10-12 23:42:27 +11:00
Campbell Barton
63e9de4992 Fix memory leak in the animation player when videos have no duration 2023-10-12 23:41:10 +11:00
Campbell Barton
d0507470c0 Fix crash in the animation player when a video file fails to load 2023-10-12 23:41:10 +11:00
Julian Eisel
65b6bcfaa0 Merge remote-tracking branch 'origin/blender-v4.0-release' 2023-10-12 14:41:07 +02:00
Julian Eisel
a9238a54ba Fix broken inheritance hierarchy for light linking UI
Custom drop targets for views are supposed to use `DropTargetInterface` as the
base class, and view items `TreeViewItemDropTarget`. Light linking used
`TreeViewItemDropTarget` for both the view and the view item drop targets. This
is because they both used the same intermediate base class.

After suggestion from Sergey, this uses composition instead of multiple
inheritance, so `CollectionDropTarget` becomes a member instead of a base
class.

Pull Request: https://projects.blender.org/blender/blender/pulls/113550
2023-10-12 14:38:42 +02:00
Falk David
43a60ca38e GPv3: Transform Geometry node
Reviewed as part of !113598.
2023-10-12 14:38:42 +02:00
Dalai Felinto
f88c2b6c46 GPv3: Curve Trim node
Original patch (!113444) by Falk David with changes by me.

Reviewed as part of !113598.
2023-10-12 14:38:42 +02:00
Dalai Felinto
da2877f401 GPv3: Curve Length node
Original patch (!113444) by Falk David with changes by me.

Reviewed as part of !113598.
2023-10-12 14:38:42 +02:00
Dalai Felinto
d7fbd92ca7 GPv3: Blur Attribute node
Original patch (!113444) by Falk David with changes by me.

Reviewed as part of !113598.
2023-10-12 14:38:42 +02:00
Falk David
c620b0b00e GPv3: Domain Size node
Reviewed as part of !113598.
2023-10-12 14:38:42 +02:00
Hans Goudey
cbb4ae80ba Cleanup: Return PBVH node vertex indices with span instead of pointer 2023-10-12 14:29:34 +02:00
Omar Emara
444241fbcf Fix: GPU Compositor rotation transposes the image
The image is transposed when rotated in the GPU compositor. This was a
typo in the rotation bounding box equation, which is fixed in this
patch.
2023-10-12 15:22:22 +03:00
Hans Goudey
20d8f27ed2 Geometry Nodes: Add default input option for node groups
In order to recreate the behavior of some builtin nodes
which have implicit inputs for ID/Index or positions, provide
a hard-coded list of default/unconnected fields for sockets.

The point is to let assets recreate the behavior of builtin
nodes in a simple way that's easy to change in the future if
this becomes a more generalized feature. A hardcoded list
makes this predictable and simple in the meantime.

When the option is set to something besides "Default Value"
it overrides the "Hide Value" option. Otherwise the default
input would conflict with the visible default value button.

This makes it possible to add #109846 as an asset in the
essentials bundle. The design is meant to be easily
extendable for shader nodes, though that isn't included
in this commit.

Pull Request: https://projects.blender.org/blender/blender/pulls/113175
2023-10-12 14:04:44 +02:00
Falk David
f43426f0de GPv3: Rename layer domain to just "Layer"
We had a short discussion on this change. "Grease Pencil Layer" is
just a bit too long, especially in the UI. Even though "Layer" might be
ambiguous, it shouldn't be in the context of geometry nodes. There are
currently no other "Layers" and if there were, using the same domain
name could be fine (just like we reuse the point domain for e.g. vertices
in meshes and control points in curves).

This also renames the internal enum to `ATTR_DOMAIN_LAYER`

Pull Request: https://projects.blender.org/blender/blender/pulls/113589
2023-10-12 13:54:32 +02:00
Christoph Lendenfeld
edf9bd9acf Refactor: keyframing.cc
No functional changes

Following changes have been made to make the code more readable
* added const where possible
* move variables closer to use
* rename abbreviated variables
* invert `if` and return early

Pull Request: https://projects.blender.org/blender/blender/pulls/113595
2023-10-12 13:27:22 +02:00
Omar Emara
405ec79a0a Fix #112883: GPU compositor crops viewed image
The GPU compositor crops the viewed images to the render resolution.
While the original size and content of the input to the viewer should be
retained as is.

This patch fixes that by specializing compositors that can use composite
outputs to be able to view images of any arbitrary size. This is still
missing the translation offset of the viewer, but this shall be tackled
separately.
2023-10-12 14:03:12 +03:00
Christoph Lendenfeld
4a97668db3 Refactor: remove bAction* parameter from ANIM_apply_keyingset
No functional changes
`ANIM_apply_keyingset` had a parameter
for a `bAction *` that was never passed in.
Simplify code by removing that parameter

Pull Request: https://projects.blender.org/blender/blender/pulls/113588
2023-10-12 12:57:16 +02:00
Falk David
8086293989 Cleanup: Missing BKE_grease_pencil.hh header 2023-10-12 12:53:00 +02:00
Clément Foucault
c8e0a9765e EEVEE-Next: Sphere Probe: Allow evaluation of volume probe
This avoid too dark surfaces if there is no light
in the scene. This prevent energy loss.
2023-10-12 12:50:56 +02:00
Dalai Felinto
8e5f1e3d9f Fix tag used for Grease Pencil Resample Curve
Issue introduced as part of 3f13471d65.
2023-10-12 12:47:59 +02:00
Christoph Lendenfeld
555731f8aa Refactor: Move keyframing code to animrig
No functional changes.

Move the following keyframing functions to the animrig folder
* `insert_keyframe_direct`
* `insert_keyframe`
* `delete_keyframe`
* `clear_keyframe`

In order to disentangle the code I had to move the following as well
* `delete_keyframe_fcurve`
* `visualkey_can_use`
* `visualkey_get_values`

In order to sort the functions I made 3 files (and their header counterparts)
* fcurve.cc
* keyframing.cc
* visualkey.cc

The following functions I made public so they won't get duplicated
* `update_autoflags_fcurve_direct`
* `ANIM_setting_get_rna_values`

There are public keyframing functions that
I left in the editors/animation/keyframing.cc file
I'd like to limit the scope of this refactor, and then
clean up the moved functions before moving even more over

Part of #113278

Pull Request: https://projects.blender.org/blender/blender/pulls/113503
2023-10-12 12:46:47 +02:00
Clément Foucault
de2ea031bc Fix EEVE-Next: Broken Parallax
Parallax distance was not actually use.
It was affecting the world and had
unwanted effect if lower than
influence radius.
2023-10-12 12:41:15 +02:00
Dalai Felinto
64f1ee14d8 GPv3: Subdivide Curve node
Reviewed as part of !113581.
2023-10-12 12:25:39 +02:00
Dalai Felinto
3f13471d65 GPv3: Resample Curve node
Reviewed as part of !113581.
2023-10-12 12:25:39 +02:00
Dalai Felinto
87e03b3f97 GPv3: Set Curve Radius node
Reviewed as part of !113581.
2023-10-12 12:25:39 +02:00
Dalai Felinto
9e9fae7ec0 GPv3: Separate Components node
Reviewed as part of !113581.
2023-10-12 12:25:39 +02:00
Clément Foucault
1f12b90ef2 Cleanup: EEVEE-Next: Use references for bind_resources 2023-10-12 12:19:41 +02:00
Clément Foucault
1b4b6bc2f4 Fix EEVEE-Next: Forward Pipeline: Missing resource binds 2023-10-12 12:15:15 +02:00
Omar Emara
e592763940 Realtime Compositor: Immediately realize transformations
This patch immediately realizes the scale and rotation components of
transformations at the point of transform nodes. The translate component is
still delayed and only realized when really needed to avoid clipping.

Transformed results are always realized in an expanded domain that avoids
clipping due to rotation or scaling. The size of the transformed domain is
clipped to the GPU texture size limit for now until we have support for huge
textures, that limit is typically 16k.

A potential optimization is to join all consecutive transform and realize
operations into a single realize operation.

Fixes #112332.

Pull Request: https://projects.blender.org/blender/blender/pulls/112332
2023-10-12 11:04:50 +02:00
Jeroen Bakker
83b23d37e7 EEVEE: Fix Compilation Errors
The push constant `double_sided` and `Surfel.double_sided` collided. Due
to the macros that the vulkan backend is creating it isn't possible to
use the same attribute name as an existing push constant.

Pull Request: https://projects.blender.org/blender/blender/pulls/113576
2023-10-12 08:57:25 +02:00
Campbell Barton
2316b73a1d Merge branch 'blender-v4.0-release' 2023-10-12 17:23:57 +11:00
Campbell Barton
4ea76b8530 Fix #113273: Status bar not refreshed when canceling the operation
Resolve regression in [0].

[0]: 42f8b49581
2023-10-12 17:21:34 +11:00
Jeroen Bakker
76a1824c52 GPU: Force Workarounds Viewport Layer Array
The OpenGL extension `GL_ARB_shader_viewport_layer_array` wasn't turned
off when starting blender with `--debug-gpu-force-workarounds`. Although
all known supported platforms support this extension and we haven't seen
any failures with it, it was mentioned to be phased out as we consider
it to be a core extension, which it isn't.

This PR will enable the workaround for this extension and remove the
extension from the phase out list.

Pull Request: https://projects.blender.org/blender/blender/pulls/113572
2023-10-12 07:58:33 +02:00
Jesse Yurkovich
2f026bf5ef Merge branch 'blender-v4.0-release' 2023-10-11 22:45:34 -07:00
Jesse Yurkovich
fa987dc059 Fix #110524: Use correct typed API to retrieve python GPU buffer sizes
Large GPU buffers can overflow their dimension property due to the use
of `PyLong_AsLong` instead of `PyLong_AsSsize_t` when processing the
buffer shape.

Pull Request: https://projects.blender.org/blender/blender/pulls/113566
2023-10-12 07:44:13 +02:00