Commit Graph

100101 Commits

Author SHA1 Message Date
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
Campbell Barton
4143c2324b Cleanup: replace OpenGL references with GPU in BLF 2023-10-12 16:10:01 +11:00
Campbell Barton
b4504c7840 Cleanup: spelling in comments 2023-10-12 16:03:18 +11:00
Campbell Barton
1eabc2d4cd Merge branch 'blender-v4.0-release' 2023-10-12 16:00:26 +11:00
Campbell Barton
4e4fc8c276 Fix #107523: Cursor not cleared when panning stops 2023-10-12 15:59:22 +11:00
Campbell Barton
db093a4608 Merge branch 'blender-v4.0-release' 2023-10-12 09:27:43 +11:00
Campbell Barton
b8ad624006 Cleanup: use doxygen doc-strings, spelling in comments 2023-10-12 09:26:53 +11:00
Clément Foucault
4bddbe85f6 EEVEE-Next: Move out of experimental options
See #93220
2023-10-11 20:38:28 +02:00
Clément Foucault
80a8368b88 EEVEE-Next: UI cleanup of render settings panel
- Rename Indirect Lighting panel to Light Probe
  and split options per probe type.
- Rename Probe to Light Probe in the world panel.
- Move the Ambient Occlusion distance to view
  layer.
- Rename the Ambient Occlusion tab to Horizon
  Scan (waiting for a better name).
- Split Sampling panel into viewport and render
  sub-panels.
- Rename Volumetrics to Volumes to match Cycles.
- Split light threshold to new Lights panel.
- Simplify shadow panel option names.
- Rename Viewport Denoising in Temporal Reprojection.
- Move Motion Blur panel above the film panel.
- Use / instead of & in raytracing panel.
- Fix graying out of raytracing denoise options.

Pull Request: https://projects.blender.org/blender/blender/pulls/113522
2023-10-11 20:27:30 +02:00
Clément Foucault
df523f3bf1 EEVEE-Next: Add back lightprobe influence
I had to do a huge refactor in order to do this.

The way ReflectionProbe were referencing the UBO
data was conflicting with the way EEVEE-Next
object should behave.

So like light, shadow and irradiance grids, every
probe is synced with it's GPU data as base struct
and the data is just copied into the UBO
when using `set_view`.

To simplify many parts of the reflection probe
code, I isolated the atlas coordinate of a probe
to its own struct that can be easily copied.

Pull Request: https://projects.blender.org/blender/blender/pulls/113518
2023-10-11 20:19:37 +02:00
Miguel Pozo
1ba16edaf0 EEVEE-Next: Rename light probes
Update to the new naming convention for `Light Probes`:

`Reflection Cubemap` -> `Sphere`
`Reflection Plane` -> `Plane`
`Irradiance Grid` -> `Volume`

Note that this breaks the Python API (`bpy.types.LightProbe.type`).

Pull Request: https://projects.blender.org/blender/blender/pulls/113452
2023-10-11 19:38:42 +02:00
Harley Acheson
abe53e0cca Cleanup: Make format
Just formatting changes resulting from Make Format
2023-10-11 10:33:09 -07:00
Harley Acheson
58bd6ef165 Cleanup: Make format
Just formatting changes resulting from Make Format
2023-10-11 10:30:07 -07:00
Harley Acheson
63f56fee91 Merge branch 'blender-v4.0-release' 2023-10-11 10:28:13 -07:00
Harley Acheson
d6a6c3e1fc UI: Highlight Selected Item in View3D Mode Menu
Allow the View3D "Mode" menu to highlight the currently-selected mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/112058
2023-10-11 19:27:02 +02:00
Miguel Pozo
3f72c62be6 GPU: Add GPU_max_storage_buffer_size
Needed for #113509.

Using a `size_t` since some GPUs should support >4GB buffers,
but Vulkan exposes the value as a `uint` and Metal as an `int`.

Pull Request: https://projects.blender.org/blender/blender/pulls/113516
2023-10-11 19:26:40 +02:00
Sergey Sharybin
79dc2c7672 Merge branch 'blender-v4.0-release' 2023-10-11 19:12:12 +02:00
georgiy.m.markelov@gmail.com
782c9273cd Fix Hydra MaterialX error with default materials
Pull Request: https://projects.blender.org/blender/blender/pulls/113541
2023-10-11 19:10:16 +02:00
Germano Cavalcante
51edd7dd62 Merge branch 'blender-v4.0-release' into main 2023-10-11 13:13:18 -03:00
Germano Cavalcante
bdb0a05de5 Fix 'Transform Extend' not identifying the correct transformation side
Caused by c59ba19c0b.

`t->mouse.imval` was being used before initialization.
2023-10-11 13:12:51 -03:00
Harley Acheson
e00bd55576 Merge branch 'blender-v4.0-release' 2023-10-11 08:26:58 -07:00
Harley Acheson
1b28b79768 Revert: Fix #111666: Hide Mouse in Redo Panel Inputs #113428
Reverting this as Campbell would prefer a solution that does not
involve modal cursors.

Pull Request: https://projects.blender.org/blender/blender/pulls/113551
2023-10-11 17:25:38 +02:00
Harley Acheson
aa88d9a8e3 Revert "UI: Input Placeholders"
This reverts commit b0515e34f9.
Unintentionally added to 4.0
2023-10-11 08:01:24 -07:00
Hans Goudey
30574bd8a9 Merge branch 'blender-v4.0-release' 2023-10-11 16:51:50 +02:00
Hans Goudey
50ed14f228 Fix: Set selection node crashes with attributes on the wrong domain
Remove the selection attributes on the non-selected domains, since they
will be automatically filled by domain interopolation anyway. Arguably
this should be fixed in a more general way, either by ensuring they are
always on the expected domains or more gracefully handling the case
when they aren't at a lower level. But for this node, for now this is
a simpler approach.
2023-10-11 16:51:32 +02:00
Jacques Lucke
c52582e3fe Fix: properties search crash
The issue was that the panel run-time pointer was overwritten by
the shallow copy.
2023-10-11 16:44:54 +02:00
Michael Kowalski
f4124b4e20 Fix #113400: USD transform cache crash on invalid prim.
Updated CacheReader_open_usd_object() to issue a warning and
return early if the given object path does not refer to a
valid prim on the USD stage, to avoid crashing when attempting
to create a reader from an invalid prim.

Pull Request: https://projects.blender.org/blender/blender/pulls/113524
2023-10-11 16:21:19 +02:00
Falk David
6ad044264f Cleanup: GPv3: Use Drawing wrapper class
In the primitive add code for grease pencil primitives we weren't
using the `Drawing` class yet.
2023-10-11 16:09:06 +02:00
Jacques Lucke
449ded0258 Fix #113545: crash when trying to create panel with unknown type
Caused by 6a6dd392e2.
2023-10-11 16:08:17 +02:00