Commit Graph

5056 Commits

Author SHA1 Message Date
Bastien Montagne
b325142d17 Merge branch 'blender-v4.3-release' 2024-11-12 16:55:40 +01:00
Bastien Montagne
0b3a7cbe69 Cleanup: Move BKE_image.h and related headers to C++.
NOTE: This also required some changes to Cycles code itself, who is now
directly including `BKE_image.hh` instead of declaring a few prototypes
of these functions in its `blender/utils.h` header (due to C++ functions
names mangling, this was not working anymore).

Pull Request: https://projects.blender.org/blender/blender/pulls/130174
2024-11-12 16:53:54 +01:00
Iliya Katueshenock
8bc9e48f14 Cleanup: Geometry Nodes: use general an attribute copy function GP-Instances conversion
This is replacement of a too specific function to copy attributes from a grease pencil to instances.
With #127026 there is no more reason to have such a specific implementation so general `copy` is used now.

Pull Request: https://projects.blender.org/blender/blender/pulls/127027
2024-11-12 15:28:45 +01:00
Omar Emara
bfc79906fc Compositor: Implement Corner Pin for new CPU compositor
Reference #125968.
2024-11-12 16:27:29 +02:00
Falk David
c8211b23c7 Refactor: Add CurvesGeometry::is_empty() function
Previously, some places used `curves.points_num() == 0` some other
places `curves.curves_num() == 0` to check if the geometry is empty.

Rather than having these two ways, add an `is_empty()` function
that replaces all these different checks.

Also update the curves geometry tests to use this function.

Pull Request: https://projects.blender.org/blender/blender/pulls/130168
2024-11-12 14:46:24 +01:00
Omar Emara
d787922df9 Compositor: Implement Plane Deform for new CPU compositor
Reference #125968.
2024-11-12 13:48:26 +02:00
Jacques Lucke
3f3f8d315d Fix: don't show Geometry Nodes modifier gizmos for unselected objects
It's unexpected that the gizmos show for unselected objects.

Pull Request: https://projects.blender.org/blender/blender/pulls/130144
2024-11-11 18:42:53 +01:00
Jacques Lucke
0d6d54d565 Fix: don't show Geometry Nodes modifier gizmos for unselected objects
It's unexpected that the gizmos show for unselected objects.

Pull Request: https://projects.blender.org/blender/blender/pulls/130144
2024-11-11 18:20:46 +01:00
Omar Emara
4c6f0bb60d Compositor: Implement Stabilize 2D for new CPU compositor
Reference #125968.
2024-11-11 14:32:35 +02:00
Omar Emara
778a86fa48 Compositor: Implement Keying Screen for new CPU compositor
Reference #125968.
2024-11-11 14:04:29 +02:00
Omar Emara
82368913f9 Compositor: Implement Z Combine for new CPU compositor
Reference #125968.
2024-11-11 13:11:06 +02:00
Omar Emara
4ab01178e2 Compositor: Implement Anti-Alias node for new CPU compositor
Reference #125968.
2024-11-11 09:25:27 +02:00
Bastien Montagne
b0842c24b6 Merge branch 'blender-v4.3-release' 2024-11-07 18:27:34 +01:00
Omar Emara
80b4297b57 Compositor: Implement Convert Color Space for new CPU compositor
Reference #125968.
2024-11-07 18:28:43 +02:00
Jacques Lucke
4ba30cf82e Fix #129417: Geometry Nodes gizmos don't create keyframes when auto keying is on
This uses the existing autokeying API to insert keys after changing properties
using geometry nodes gizmos.

Pull Request: https://projects.blender.org/blender/blender/pulls/129964
2024-11-07 16:14:44 +01:00
Omar Emara
ece5f08852 Compositor: Implement Tone Map for new CPU compositor
Reference #125968.
2024-11-07 15:28:44 +02:00
Omar Emara
91511b3386 Compositor: Implement Split node for new CPU compositor
Reference #125968.
2024-11-07 13:12:55 +02:00
Omar Emara
14583742dc Compositor: Implement Normalize for new CPU compositor
Reference #125968.
2024-11-07 13:12:55 +02:00
Omar Emara
c8ded4bf88 Compositor: Implement Levels node for new CPU compositor
Reference #125968.
2024-11-07 13:12:55 +02:00
Sergey Sharybin
cad2830006 Cleanup: Fix strict compiler warning about unused typeinfo_
The NodeDeclarationBuilder::typeinfo_ is unused in release builds, but is
used in debug builds for assert.

Mark it as `[[maybe_unused]]` to silence strict compilation warning.

Pull Request: https://projects.blender.org/blender/blender/pulls/129912
2024-11-06 17:05:36 +01:00
Omar Emara
9b2356ae47 Compositor: Implement File Output for new CPU compositor
Reference #125968.
2024-11-06 15:45:06 +02:00
Omar Emara
a295cfe05f Cleanup: Use 2D parallel for loops 2024-11-06 15:44:17 +02:00
Omar Emara
2ed75eccc2 Compositor: Implement Movie Clip for new CPU compositor
Reference #125968.
2024-11-06 13:40:18 +02:00
Omar Emara
7471478b57 Compositor: Implement Texture node for new CPU compositor
Reference #125968.
2024-11-06 13:39:17 +02:00
Omar Emara
65797a5107 Compositor: Implement Mask node for new CPU compositor
Reference #125968.
2024-11-06 13:37:46 +02:00
Omar Emara
7220b3bb19 Compositor: Implement Bokeh Image for new CPU compositor
Reference #125968.
2024-11-06 13:36:41 +02:00
Bastien Montagne
87bf983030 Merge branch 'blender-v4.3-release' 2024-11-06 11:14:25 +01:00
Iliya Katueshenock
6255c49685 Fix: Geometry Nodes: Skip string attribute processing in some nodes
String attribute type generally not supported in geometry nodes currently.

Pull Request: https://projects.blender.org/blender/blender/pulls/129882
2024-11-06 07:16:36 +01:00
Jesse Yurkovich
b4c2feea38 USD: enable material displacement support
This enables material displacement for UsdPreviewSurface import and
export. Scenarios are limited by what's supported by the preview surface
itself. Namely only Object Space displacement can be used (no vector
displacement)[1] and the Midlevel and Scale parameters are maintained by
adjusting the scale-bias on the image texture controlling the Height
(this means that Midlevel and Scale must be constants).

Hydra/MaterialX support is more complicated. First, there is a bug which
prevents scalar displacment from working correctly and that needs USD
2408+ for the fix[2]. Second, is that there's an open question about
which coordinate system to use for MaterialX's vector displacement maps.
Lastly, Hydra GL does not render displacement, making verification using
only Blender impossible[3]. As a result, this PR only makes MaterialX
"ready" for support, but stops short of actually connecting the final
piece of the node graph until more of the above can be sorted out.

Tests are added which cover:
- Variations of Midlevel and Scale values
- A constant Height setup
- Negative scenarios checking that only Object space is supported
  and that midlevel and scale need to be constants

[1] https://openusd.org/release/spec_usdpreviewsurface.html
[2] https://github.com/PixarAnimationStudios/OpenUSD/issues/3325
[3] https://forum.aousd.org/t/materialx-displacement-hydra-storm/1098/2

Pull Request: https://projects.blender.org/blender/blender/pulls/128909
2024-11-05 20:37:36 +01:00
Julian Eisel
d8680e9476 Merge branch 'blender-v4.3-release' 2024-11-05 12:06:47 +01:00
Iliya Katueshenock
74f98b1e92 Fix: Geometry Nodes: crash when converting layers to instances
The crash/assert happened because the case when there are instances already was not handled.

Pull Request: https://projects.blender.org/blender/blender/pulls/127299
2024-11-05 11:05:28 +01:00
Hans Goudey
39ecbe496d Merge branch 'blender-v4.3-release' 2024-11-05 10:02:52 +01:00
Marco Rotili
5c572f01cf Fix #129461: Sample index geometry node does not support Grease Pencil
The sample index node specifies the supported geometry types and Grease
Pencil was missing. Note that only the layer domain will work since it's
the only domain accessible by index on GP data directly.

Pull Request: https://projects.blender.org/blender/blender/pulls/129758
2024-11-05 10:00:41 +01:00
Xavier Hallade
57a7a940e1 Merge branch 'blender-v4.3-release' 2024-11-04 11:34:05 +01:00
Damien Picard
edcc5e0e87 I18n: Translate and disambiguate a few messages
Translate
- Extract Grease Pencil modifier subpanel header messages.

Disambiguate
- Integer Math node operation (same as other existing math nodes).

Pull Request: https://projects.blender.org/blender/blender/pulls/128715
2024-11-04 11:15:48 +01:00
Leon Schittek
0d3b7ec82b Merge branch 'blender-v4.3-release' 2024-11-02 17:04:58 +01:00
Leon Schittek
3347aa4017 Fix: Geometry Nodes: Matrix socket not connecting after link-drag search
Ensure the matrix socket is made available, when connecting to it via
the link-drag search.

Pull Request: https://projects.blender.org/blender/blender/pulls/129713
2024-11-02 17:03:42 +01:00
Hans Goudey
f736c1aa93 Merge branch 'blender-v4.3-release' 2024-11-01 21:27:55 +01:00
Hans Goudey
c38484107f Fix #129697: Crash renaming node interface input to empty string
Caused by trying to construct a `std::string` from `nullptr`.
2024-11-01 21:27:25 +01:00
Omar Emara
81cb127612 Compositor: Implement Mix RGB node for new CPU compositor
Reference #125968.
2024-10-30 14:32:10 +03:00
Omar Emara
4359a308dd Compositor: Implement Alpha Over for new CPU compositor
Reference #125968.
2024-10-30 14:31:26 +03:00
Omar Emara
03ec5b6cfb Compositor: Implement Combine Color for new CPU compositor
Reference #125968.
2024-10-30 14:30:46 +03:00
Omar Emara
51a6eb35c0 Compositor: Implement Separate Color for new CPU compositor
Reference #125968.
2024-10-30 14:29:49 +03:00
Omar Emara
3f464b9f14 Fix: Compositor RGB Curve factor input has wrong range
The Factor input of the compositor RGB Curves node has a wrong minimum
range of -1, while it should be 0. This is clamped during execution, so
it has no effect, but it is good to align UI with code.
2024-10-29 16:10:49 +03:00
Omar Emara
b81eb1aa03 Fix: Missing std qualifier for exp2 2024-10-29 16:10:15 +03:00
Omar Emara
1dd0493c5a Compositor: Implement Set Alpha for new CPU compositor
Reference #125968.
2024-10-29 16:06:33 +03:00
Omar Emara
04ab5e1bde Compositor: Implement Alpha Convert for new CPU compositor
Reference #125968.
2024-10-29 16:05:54 +03:00
Omar Emara
d1ce793147 Compositor: Implement Invert for new CPU compositor
Reference #125968.
2024-10-29 16:05:13 +03:00
Omar Emara
3aa5313a6d Compositor: Implement Hue Saturation Value for new CPU compositor
Reference #125968.
2024-10-29 16:04:26 +03:00
Omar Emara
e94bbc5436 Compositor: Implement RGB to BW for new CPU compositor
Reference #125968.
2024-10-29 14:41:18 +03:00