Blender Git Commits

Blender Git "master" branch commits.

Page: 3 / 5547

1 day and 7 hours ago
Cleanup: clang-format, trailing space
1 day and 11 hours ago
Geometry Nodes: Domain Size Node

The Domain Size node has a single geometry input and a selection for
the component type. Based on the component chosen, outputs containing
single values for the related domains are shown.

- Point Count
- Edge Count
- Face Count
- Face Corner Count
- Point Count
- Spline Count
Point Cloud:
- Point Count
- Instance Count

Differential Revision:
1 day and 12 hours ago
Merge branch 'blender-v3.0-release'
1 day and 12 hours ago
Fix T93310: crash due to broken image paths

The crash was caused by allocating an uninitialized amount of memory.
This fix initializes a bunch of variables that could cause the error.

It should be possible to also fix this in the function that actually uses
the uninitialized memory, but that could cause unknown consequences
that are a bit too risky for 3.0. Just initializing some variables should
be safe though. For more details see D13369.

Differential Revision:
1 day and 12 hours ago
Fix debug build error after recent Cycles kernel argument changes
1 day and 12 hours ago
Fix Cycles OptiX doing a bit too much work for almost opaque curve shadows

Found in D13353, likely has no significant impact in performance.
1 day and 14 hours ago
Merge branch 'blender-v3.0-release'
1 day and 14 hours ago
Fix T93439: Armature widgets from hidden collections are invisible

The are few things in the dependency graph which lead to the issue:
- IDs are only built once.
- Object-data level (Armature, i,e,) builder dependent on the object

This caused issues when an armature is first built as not directly
visible (via driver, i.e.) and then was built as a directly visible.
This did not update visibility flag on the node for the custom shape

The idea behind the fix is to go away form passing object visibility
flag to the geometry-level builders and instead rely on the common
visibility flush post-processing to make sure certain objects are
fully visible when needed.

This is the safest minimal part of the change for 3.0 release which
acts as an additional way to ensure visibility. This means that it
might not be a complete fix (if some configuration was overseen) but
it should not make currently working cases to not work.

The fix should also make modifiers used on rigify widgets to work.

The more complete fix will have `is_object_visible` argument removed
from the geometry-level builder functions.

Differential Revision:
1 day and 14 hours ago
Merge branch 'blender-v3.0-release'
Revision dae9917 by Sergey Sharybin
1 day and 14 hours ago
Fix T93384: Objects with Constraints to curves have wrong locations on file load

Regression since 3.93 caused by 752c6d668bcb.

Follow the code from 2.93 which was always leaving curve modifiers
evaluation with a valid and clean state of the bounding box.

This is also what was proposed and agreed on in the following
design task: T92206: Bounding Box: compute during depsgraph evaluation

Tested with files from T90808 and T93384.

For the 3.0 going with the safest and minimal change. The rest of
the bounding box un-entanglement is to happen outside of the stable

Thanks The patch is based on the code from Philipp Oeser and
investigation by Germano Cavalcante and Dr. Sybren A. Stvel,

Differential Revision:
1 day and 15 hours ago
Fix T92628: .blend thumbnail renders black with Cycles 3D viewport render

Don't use Cycles for rendering thumbnails, fall back to Solid shading.

Differential Revision:
1 day and 15 hours ago
Cycles: MetalRT support (kernel side)

This patch adds MetalRT support to Cycles kernel code. It is mostly additive in nature or confined to Metal-specific code, however there are a few areas where this interacts with other code:

- MetalRT closely follows the Optix implementation, and in some cases (notably handling of transforms) it makes sense to extend Optix special-casing to MetalRT. For these generalisations we now have `__KERNEL_GPU_RAYTRACING__` instead of `__KERNEL_OPTIX__`.
- MetalRT doesn't support primitive offsetting (as with `primitiveIndexOffset` in Optix), so we define and populate a new kernel texture, `__object_prim_offset`, containing per-object primitive / curve-segment offsets. This is referenced and applied in MetalRT intersection handlers.
- Two new BVH layout enum values have been added: `BVH_LAYOUT_METAL` and `BVH_LAYOUT_MULTI_METAL_EMBREE` for XPU mode). Some host-side enum case handling has been updated where it is trivial to do so.

Ref T92212

Reviewed By: brecht

Maniphest Tasks: T92212

Differential Revision:
1 day and 15 hours ago
Cycles: Metal readiness: Specify DeviceQueue::enqueue arg types

This patch adds new arg-type parameters to `DeviceQueue::enqueue` and its overrides. This is in preparation for the Metal backend which needs this information for correct argument encoding.

Ref T92212

Reviewed By: brecht

Maniphest Tasks: T92212

Differential Revision:
1 day and 16 hours ago
Fix T93431: Crash when empty is marked as asset

Make `ED_preview_id_is_supported(ID *)` NULL-safe. It's semantically
valid, as it's not possible to render a preview of a NULL ID.

The crash was introduced in 481f032f5cbe2cd3c36c9ef516670fd9e06db25f

Reviewed By: sybren, jbakker

Maniphest Tasks: T93431

Differential Revision:
Revision f9add2d by Hans Goudey
1 day and 16 hours ago
Fix: Missing min value for set spline resolution node
1 day and 17 hours ago
Refactor BKE_bpath module.

The main goal of this refactor is to make BPath module use `IDTypeInfo`,
and move each ID-specific part of the `foreach_path` looper into their
own IDTypeInfo struct, using a new `foreach_path` callback.

Additionally, following improvements/cleanups are included:
* Attempt to get better, more consistent namings.
** In particular, move from `path_visitor` to more standard `foreach_path`.
* Update and extend documentation.
** API doc was moved to header, according to recent discussions on this
* Remove `BKE_bpath_relocate_visitor` from API, this is specific
callback that belongs in `lib_id.c` user code.

NOTE: This commit is expected to be 100% non-behavioral-change. This
implies that several potential further changes were only noted as
comments (like using a more generic solution for
`lib_id_library_local_paths`, addressing inconsistencies like path of
packed libraries always being skipped, regardless of the
`BKE_BPATH_FOREACH_PATH_SKIP_PACKED` `eBPathForeachFlag` flag value,

NOTE: basic unittests were added to master already in

Reviewed By: brecht

Differential Revision:
1 day and 17 hours ago
Fix drawing annotations on surface

Caused by {rBaa0ac0035a0d}.

Similar solution to {rBc0fdaf700a5}.
1 day and 18 hours ago
Fix T93417: Strip outline not aligned with image

When using non-uniform aspect ratio, strip outline is not aligned

Apply pixel aspect ratio to image quad and origin.
Revision f1118ee by Omar Emara
1 day and 19 hours ago
Nodes: Support internal links for custom sockets

Currently, nodes with custom sockets do not get their internal links
populated. So operators like Delete And Reconnect don't work with such
nodes. This patch put custom sockets into consideration when computing
priorities for internal links such that sockets of the same idname get
connected. Additionally, the patch cleanup the function in the process
to avoid redundant code repetition.

Reviewed By: Jacques Lucke

Differential Revision:
Revision ab2a7aa by Omar Emara
1 day and 19 hours ago
Fix T93438: Auto linking do not work for custom sockets

Currently, custom sockets are no longer supported for automatic linking
when dropping a node on a link. This is because SOCK_CUSTOM is given a
negative priority and is ignored. To fix this, SOCK_CUSTOM is now given
the lowest priority and the rest of the sockets got their priority

Reviewed By: Jacques Lucke

Differential Revision:
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2021