The reasoning is that this is not supported by Vulkan.
In order to make shaders cross API compatible, python scripts
needs to use `GPUShaderCreateInfo`.
This removes the constructor all-together. Another option
is to raise an error inside the constructor and always
return none.
Rel #107374
Pull Request: https://projects.blender.org/blender/blender/pulls/140368
Nodes code uses direct access to enum property values definition
(outside of the RNA API) to generate UI (translated) messages, this is
risky/messy since the i18n context potentailly defined for the actual
RNA property is not available in these cases.
A few reports used string formatting in a way which made translation
awkward, by splitting the message into several individually translated
submessages, instead of just one message with formatting markers.
Pull Request: https://projects.blender.org/blender/blender/pulls/139895
Fix a crash in the inbetweener (and other similar tools) when bones have
custom properties, but no system properties. It just needed another
`nullptr` check.
Pull Request: https://projects.blender.org/blender/blender/pulls/140455
When initially saving a file, we would now always create a catalog
definition file that would be writted to disk on file save. This
shouldn't be done if there are no new catalogs to write.
This is replaced by geometry nodes, where volumes can now be generated from
point clouds and meshes with more control, and more efficient rendering as a
sparse volume.
No backwareds compatibility is provided, as this would be complicated, and
probably this feature was not used much in the past few years.
This node was supported in Cycles only, not by EEVEE.
Pull Request: https://projects.blender.org/blender/blender/pulls/140292
It is possible to resize tree view too much that only one row is
visible. To add the resize limit, clamp rows value in `tot_visible_row_count`,
that way visible rows are restricted when building the UI inside
`build_from_tree`. Limit is set to 4 (see `MIN_ROWS`).
Pull Request: https://projects.blender.org/blender/blender/pulls/140184
This patch enhances the quality setting of the Glare node. Previously,
Medium and Low quality were implemented using a single tap interpolation
downsampling filter, which means small highlights that only span a small
number of pixels could be missed during downsampling, and that might
change across frames, causing flickering.
To fix this, we use a higher quality downsampling filter that averages
the entire 2x2 or 4x4 pixel blocks for the Medium and Low quality
settings respectively.
The upsampling pass also needs to be improved to avoid offsets, but this
will be implemented separately.
Pull Request: https://projects.blender.org/blender/blender/pulls/140237
We have to execute math node both for real Grid tree nodes and for background
values. So internal logic of sharing background values will work in case such
values are used by some nodes.
A field input is evaluated on a tile with maximum bounds to get the background
value.
Pull Request: https://projects.blender.org/blender/blender/pulls/140410
This patch removes the properties that were marked as deprecated in the
4.x series and was planned for removal in 5.0. Some DNA members were
marked as deprecated or removed in correspondence with this change.
Pull Request: https://projects.blender.org/blender/blender/pulls/140355
This enables the new .blend file format as described in #129309 and implemented
in 6a90382390 by default. This allows storing
blocks larger then 2GB inside the file. This is a necessary requirement to be
able to store e.g. meshes with more than a few hundred million vertices.
There is a new debug option that can be used to force Blender to write the older
file format. This is especially useful when using tools that have not been
updated to be able to read the new format yet.
Compatibility:
* Blender 4.5 is able to read the new format for a few months already, so 4.5
LTS will be able to read these files
(6a90382390).
* The internal `blendfile.py` which is used by `blend2json.py` has been updated
(d83bfee347).
* blender-asset-tracer (BAT) has been updated
(blender/blender-asset-tracer@f1ee7980b2).
* `blend_render_info.py` will be updated soon (#140341).
Pull Request: https://projects.blender.org/blender/blender/pulls/140343
The `General` settings layout can be disabled by unchecking `use_custom_props`,
an since this button button is within this layout it can't be activated back.
NOTE: See that the button can be activated back if the checkbox is still
hovered after being unchecked, if the mouse moves out it can't be enabled back.
Pull Request: https://projects.blender.org/blender/blender/pulls/140228
Changes `MultiresDisplacementData` to use a `blender::Array` instead of
a manually allocated pointer to allow for using `Span`s and avoid
further manual memory management.
Note that `MultiresDisplacementData` is already handled via C++ style
`new` & `delete` and does not need to be converted as a prerequisite.
Pull Request: https://projects.blender.org/blender/blender/pulls/140328
* Uses references where possible
* Adds const where appropriate
This commit only modifies the internal methods, and does not touch any
of the function signatures or areas that interface with other parts of
the codebase.
Pull Request: https://projects.blender.org/blender/blender/pulls/140326
Auto normalization used to not work on assign/remove vertex group
operator, this was due to `BKE_object_defgroup_validmap_get` and
`vgroup_parray_alloc` did not handle grease pencil type objects. Now
added grease pencil cases in them and auto normalization works as
expected.
Pull Request: https://projects.blender.org/blender/blender/pulls/139912
If view items button is active, call `ui_layout_list_set_labels_active` to
set the `SELECT` flag on label button. Due to this flag being set, text_sel theme
color is copied to `wcol.text` (see `UI_SELECT` condition in `widget_state()`).
This `wcol.text` is later used inside `widget_draw_text()` for text color.
Pull Request: https://projects.blender.org/blender/blender/pulls/140330
`seq_need_scale_to_render_size` returned true, when scaling was not
needed. The code that used this function worked correctly, so the logic
was inverted in both places.
Clarify the terms for NDOF translation & rotation sensitivity.
Previously translation was named: "ndof_sensitivity" making it
sound like it would control rotation as well.