Commit Graph

133181 Commits

Author SHA1 Message Date
Ray Molenkamp
95df77323f Make.bat: Only warn about python if the lib folder exists
People running `make update` first time, will not have a lib
folder yet, and get a warning about python being missing, this
sends some of them off onto somewhat of a wild goose chase
installing python when this is really not needed since it's
included in our libraries.

This change, changes the warning to only emit when the lib
folder exists, but python is missing in the lib folder and
there actually is likely an issue with the lib folder.
2024-02-20 12:03:11 -07:00
Hans Goudey
de8d302e8b Cleanup: Use utility for finding index masks from group IDs
148cad93e3
2024-02-20 13:26:56 -05:00
Brecht Van Lommel
c28038d970 Merge branch 'blender-v4.1-release' into main 2024-02-20 19:19:00 +01:00
Brecht Van Lommel
a3ffb51da6 Tests: Silence unnecessary oiiotool warning messages 2024-02-20 19:18:22 +01:00
Brecht Van Lommel
6b0b3ccadc Fix: Missing include, causing error with a combination of build options 2024-02-20 19:18:22 +01:00
Jacques Lucke
4c15ce5ad5 Merge branch 'blender-v4.1-release' 2024-02-20 18:45:07 +01:00
Jacques Lucke
ecc3e78d78 Fix #118402: support overaligned types in MEM_CXX_CLASS_ALLOC_FUNCS
Previously, the alignment of structs that use `MEM_CXX_CLASS_ALLOC_FUNCS`
were not taken into account when doing the allocation. This can cause some data
to be mis-aligned and leads to crashes when cpu instructions or code expect the
data to be aligned.

The fix is to provide an overload of `operator new` that accepts the alignment as parameter.

More info: https://en.cppreference.com/w/cpp/language/new (search for `align_val_t`).

Pull Request: https://projects.blender.org/blender/blender/pulls/118526
2024-02-20 18:44:26 +01:00
bonj
fcc8a11370 Fix #118395: use copy instead of new for geometry nodes in modifiers list
Now it behaves the same as the materials list UI.

Pull Request: https://projects.blender.org/blender/blender/pulls/118420
2024-02-20 18:43:40 +01:00
Philipp Oeser
6b79f60885 Merge branch 'blender-v4.1-release' 2024-02-20 18:10:28 +01:00
Philipp Oeser
d2f8af9b08 Fix #102930: crash loading a GP file with hook custom curve
The CurveMapping was just not initialized on file read (now done via
BKE_curvemapping_init).

Pull Request: https://projects.blender.org/blender/blender/pulls/118525
2024-02-20 18:09:41 +01:00
Sybren A. Stüvel
1c789199d5 Anim: Bone properties panel, add missing 'solo' property
Solo'ing bone collections was only possible from the Armature properties
panel. However, the bone collections shown on the Bone properties panel
should have the same functionality.

Pull Request: https://projects.blender.org/blender/blender/pulls/118512
2024-02-20 18:09:04 +01:00
Sybren A. Stüvel
c120ead9df BLI: Clarify and test StringRefNull comparisons
Add some comments that clarify that `StringRefNull` can be compared with
other `StringRefNull` and with `StringRef` instances.

Add unit tests that cover these cases.

Pull Request: https://projects.blender.org/blender/blender/pulls/118515
2024-02-20 17:52:14 +01:00
Sybren A. Stüvel
5cd57c9eaa Merge remote-tracking branch 'origin/blender-v4.1-release' 2024-02-20 17:51:06 +01:00
Sybren A. Stüvel
490c183bfd Fix #95204: Custom properties not shown on pose bone hidden by collection
Work around the limitation that `context.active_pose_bone` is `None` when
the active bone is hidden.

This also fixes the issue that the bone custom properties panel was using
the global context (`bpy.context`) instead of the one passed to the
`draw()` and `poll()` functions.

Pull Request: https://projects.blender.org/blender/blender/pulls/118510
2024-02-20 17:44:22 +01:00
Christoph Lendenfeld
a0fb1486be Fix #97973: Red underline in action editor is stale
When switching to an object with invalid channels,
the red underline would only appear on the second redraw.
Same when switching the other way around, then they would
stay until the next redraw.

The issue is that the logic to check if that line should be drawn
is checking the flag of the `bAnimListElem` which gets it from
the FCurve. But the FCurve is only checked later down the line
when getting the name.

Fix it by checking the flag on the FCurve directly.

Pull Request: https://projects.blender.org/blender/blender/pulls/118522
2024-02-20 17:33:39 +01:00
Jacques Lucke
0494605e7e Geometry Nodes: support group ids in Geometry Proximity node
This is the same 75e9056cac but for the Geometry Proximity node.

Pull Request: https://projects.blender.org/blender/blender/pulls/118467
2024-02-20 17:15:23 +01:00
Julian Eisel
debdde985f Fix #108703: assert when loading "All" asset library
Error caused by attempting to register multiple catalogs with the same
catalog ID. This would happen when multiple asset libraries would use
the same catalog definition file, and the "All" library would attempt to
merge them all into one library.

Ignore duplicate catalogs, like we already do when reading individual
asset catalog definition files. Log an error instead, or a info log if
the catalog path matches as well (in which case the conflict can be
ignored as it won't be user visible).
2024-02-20 16:48:42 +01:00
Germano Cavalcante
d7c728c2fb Cleanup: deduplicate code in 'knife_find_line_hits' 2024-02-20 11:25:54 -03:00
Julian Eisel
99673edd85 Cleanup: Add method to get UUID as std::string
Avoids having to use the C-style `BLI_uuid_format()` function with
manual buffer management, and makes it easy to get a `std::string` from
a UUID.
2024-02-20 15:20:11 +01:00
Aras Pranckevicius
447bb9a4b9 Cleanup: Move BKE_writeavi.h to C++ and rename to BKE_writemovie.hh
Pull Request: https://projects.blender.org/blender/blender/pulls/118506
2024-02-20 14:49:23 +01:00
Jacques Lucke
148cad93e3 BLI: simplify creating index masks from group ids
Pull Request: https://projects.blender.org/blender/blender/pulls/118498
2024-02-20 13:18:16 +01:00
Aras Pranckevicius
f09c7dc4ba Video: Remove non-ffmpeg AVI support
Blender had a very limited (only uncompressed or MJPEG frames) .avi file
support, for both reading and writing. This is something that ffmpeg can
fully do.

This removes all of that. 3500 lines of code gone, primary motivations being:
- ffmpeg can read and write .avi files just fine, including ones with
  uncompressed or MJPEG frames.
- Blender's ffmpeg integration could also be taught to produce uncompressed or
  MJPEG .avi files, but TBH I don't see a particular reason to do that. Modern
  formats like H264 are better in every way, and already support "lossless"
  option if needed.
- The "Lite" blender build configuration was excluding both ffmpeg and avi
  anyway, so that config is something that can't read nor write any movies.

User visible changes:

- In scene image output type, under Video section now there's only Ffmpeg Video
  (AVI Raw and AVI JPEG are gone)
- Whenever loading an existing file, if output was one of AVI Raw / AVI JPEG,
  it is set to Ffmpeg Video.

Pull Request: https://projects.blender.org/blender/blender/pulls/118409
2024-02-20 13:15:50 +01:00
Pratik Borhade
6d88285cd2 Merge branch 'blender-v4.1-release' 2024-02-20 17:30:23 +05:30
bonj
f5151bbbeb Fix #118116: Only hide solid mesh if overlays are enabled
When the retopology overlay is enabled, the edit mesh is not drawn
in solid mode. When you disabled overlays however, it would not be
drawn in any mode, which understandably confused users.
Now it checks whether overlays are enabled before it hides the solid mesh.

Pull Request: https://projects.blender.org/blender/blender/pulls/118422
2024-02-20 12:57:24 +01:00
Lukas Tönne
a314bf7daf GPv3: Conversion function for the tint modifier
Adds a conversion function for the Tint modifier from GPv2.

Also added a unified function for converting the "influence" settings, which is shared between most grease pencil modifiers.
Modifier type casting was moved into the conversion functions for individual types to make the switch statement less verbose.

Pull Request: https://projects.blender.org/blender/blender/pulls/118465
2024-02-20 12:32:22 +01:00
Sergey Sharybin
43ed74f7a2 Fix crash in GPU compositor when running from command line
The non-locking context activation expects the render engine to
have its own GPU contexts, which is not necessarily the case when
compositing happens from the command line.

Ensure that the contexts exist prior to attempt of activating them.

Pull Request: https://projects.blender.org/blender/blender/pulls/118496
2024-02-20 12:22:43 +01:00
Lukas Tönne
2a7fcf2cfd Fix #118489: Use zero scale default since it's used as an offset. 2024-02-20 11:20:55 +01:00
Jason Fielder
d1a9c2f650 Fix: Metal: EEVEE Next viewport motion blur
Resolves assertion for EEVEE Next motion
blur wherein a swizzled texture used in an
image binding loses write-access. We
instead must bind the source texture
for image write operations.

This is now consistent with expected
behaviour in other APIs.

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/117479
2024-02-20 11:17:12 +01:00
Samuel Bilek
c958910e54 UV: support changing the opacity of the UV stretching overlay
This patch adds a new `Stretching Opacity` slider to the overlays panel in the UV Editor.
This allows users to tweak the opacity of the UV stretching overlay, so the image texture
can still be visible through it.

Pull Request: https://projects.blender.org/blender/blender/pulls/117381
2024-02-20 11:03:37 +01:00
Jeroen Bakker
df2b5630d8 Vulkan: Update PCI ids
This change cleans up the PCI ids in the Vulkan backend.

- reuses already exising constants.
- add PCI-id for Apple devices.

Pull Request: https://projects.blender.org/blender/blender/pulls/118485
2024-02-20 10:44:11 +01:00
Jeroen Bakker
98bc3369f8 Cleanup: Silence unused parameter warning in Vulkan backend 2024-02-20 10:02:11 +01:00
Campbell Barton
92428db3bb Fix crash using the depth eye-dropper
Regression in [0] pointed `view_co` to a temporary variable.

[0]: 1c0f374ec3
2024-02-20 19:25:55 +11:00
Campbell Barton
621787e71c Cleanup: spelling in comments 2024-02-20 19:25:54 +11:00
Omar Emara
81867f938c Fix: GPU Hue Correct node is slightly off
The GPU Hue Correct node is slightly off due to incorrect interpolation
of curve maps. We fix this by introducing proper half-pixel offsets to
the curve map coordinates much like we do for other curve map evaluation
shaders.
2024-02-20 09:47:17 +02:00
Omar Emara
db8b7a31f5 Fix #118461: Compositor backdrop is only updated partially
The compositor backdrop is only updated partially for the GPU compositor
when the render percentage is less than 100. That's because the viewer
node wrongly considered the compositing space, while its space is only
affected by its input. So this patch fixes that by ignoring the
compositing space for viewer nodes.
2024-02-20 09:19:48 +02:00
Jeroen Bakker
5294381dae GPU: Fix compilation issues in shader builder 2024-02-20 08:07:02 +01:00
Campbell Barton
3de35c62b4 Fix dropping text & URL's from google-chrome in X11
Chrome would only drop into windows supporting v5 of the XDND spec,
resolve by bumping the version and no other changes.

From looking into the changes between v3 & v5 they mainly relate to
dragging files between windows & dragging onto the root window.
Since Blender does neither, bump the version to allow dragging
links from google-chrome.
2024-02-20 16:19:31 +11:00
Aaron Carlisle
f263b77656 Merge branch 'blender-v4.1-release' 2024-02-19 22:30:58 -05:00
Aaron Carlisle
8437e49da1 Docs: Update rna manual references 2024-02-19 22:30:39 -05:00
Aaron Carlisle
427dbaed14 Merge branch 'blender-v4.1-release' 2024-02-19 22:12:19 -05:00
Aaron Carlisle
db9a067934 Docs: Updates to python docs to reflect the user manual
These were renamed in the manual. This updates to using the full RNA path for these properties.
2024-02-19 22:11:40 -05:00
Hans Goudey
c7bea0af1a Cleanup: Add missing fast access to matrix socket base CPPType 2024-02-19 21:49:43 -05:00
Lukas Stockner
06b42313a6 Cleanup: Cycles: Replace cos with cosf 2024-02-20 02:57:29 +01:00
Germano Cavalcante
7ed02da2be Refactor: use 'ob_index' to get 'ob' and 'is_space' in knife hit
We can access the object and the is_space status from the ob_index.
This is less error-prone.
2024-02-19 21:21:49 -03:00
Germano Cavalcante
c8d8275674 Cleanup: remove unused members in knife code
`KnifePosData::co` and `KnifeLineHit::perc` are computed but used
nowhere.
2024-02-19 20:42:52 -03:00
Germano Cavalcante
714683b83e Cleanup: replace the struct 'Ref' from knife code with 'LinkData' 2024-02-19 20:39:32 -03:00
Germano Cavalcante
27e01c10dd Cleanup: deduplicate code in editmesh_knife.cc 2024-02-19 20:36:47 -03:00
Harley Acheson
bc0001aa04 Merge branch 'blender-v4.1-release' 2024-02-19 13:27:24 -08:00
Harley Acheson
42a74a28f2 Fix #117780: Allow Embossing With Horizontal Layouts
Although it is nice to skip embossing for middle buttons in aligned
rows, this only applies to vertically-aligned buttons. Horizontal ones
need to keep their embossing, if enabled.

Pull Request: https://projects.blender.org/blender/blender/pulls/118304
2024-02-19 22:26:08 +01:00
Jacques Lucke
6c46178a7f Geometry Nodes: support wildcard in Remove Named Attribute node
This adds support for removing multiple named attributes from a geometry at once
using a string pattern that can contain a single wildcard character (`*`).

Using the pattern `sim_*` removes all attributes with the `sim_` prefix for example.

The most difficult design issue here is the decision of what pattern matching language
to use. In the end we only settled on the lowest common denominator for now. This
is already very useful and does not limit us much in the future if we want to support
more complex pattern matching. Once we support lists, some of the use-cases can
also be solved more generally without extra functionality in the Remove Named Attribute
node.

Different pattern matching languages have been discussed before:
https://devtalk.blender.org/t/string-pattern-matching-language-in-blender-and-geometry-nodes/27410

Pull Request: https://projects.blender.org/blender/blender/pulls/118258
2024-02-19 21:21:18 +01:00