Blender Git Commits

Blender Git "master" branch commits.

Page: 352 / 5574

March 12, 2021, 13:32 (GMT)
Cleanup: fix clang-tidy errors when COM_debug is active.
March 12, 2021, 12:36 (GMT)
Cleanup: Compiler warnings with COM_TM_NOTHREAD active.
March 12, 2021, 12:24 (GMT)
Cleanup: document `FileSelectAssetLibraryUID::type`

No functional changes.
March 12, 2021, 11:31 (GMT)
LibOverride: Add a new operation to Outliner to enforce resync of hierarchies.

This is basically done by ignoring override operations from old override
affecting ID pointer properties, when the new (destination) one is not
NULL.

Fix T86501: New object added to overridden collection doesn't show up in linking file on Resync.

This is more of a work-around actually, since there is no real way to
fix the issue in a fully automated and consistent way, it is caused by
older blender files being saved with 'broken' overrides.

WARNING: This cannot ensure that some purposedly edited/overridden ID
pointer properties won't be lost in the process.
March 12, 2021, 08:46 (GMT)
LibQuery: Add an option to process internal runtime ID pointers.

In some cases (advanced, low-level code) we also want to process ID
pointers like `ID.newid` or `ID.orig_id`.
March 12, 2021, 08:46 (GMT)
IDRemap: Add option to also remap internal runtime ID pointers.

In some cases (advanced, low-level), we also want to remap pointers like
`ID.newid` or `ID.orig_id`.

Only known case currently is `id_delete`, to avoid leaving potential access to freed memory. See next commit and T86501.
March 12, 2021, 08:46 (GMT)
Fix first part of T86501: Crash during resync process.

Code would end up freeing some of the newly created overrides, which
were assigned to the matching linked ID's `newid` pointer, accessed
again further down the code.

Note that this is not a normal expected situation, and it won't give a
proper resync result anyway, but it might happen in some complicated
corner cases, and also quite often when dealing with older .blend files.
March 12, 2021, 08:22 (GMT)
Fix T86455: vertex color baking issue with sculpt vertex colors

Baking to Vertex Colors would always bake to sculpt vertex colors (if
such a layer is present) even if those are not enabled in the
experimental preferences. This would bake without an error but leave the
user without a result to look in the viewport.

Now check if sculpt vertex colors are enabled and only bake to them in
that case.

Maniphest Tasks: T86455

Differential Revision: https://developer.blender.org/D10692
March 12, 2021, 05:13 (GMT)
Cleanup: redundant outliner includes
March 12, 2021, 05:13 (GMT)
Cleanup: redundant flag check
March 12, 2021, 05:13 (GMT)
Cleanup: break out of loop early
March 12, 2021, 05:13 (GMT)
Cleanup: incorrect doxy section title

Also correct typo.
March 12, 2021, 05:13 (GMT)
Cleanup: make_source_archive.py minor changes & comments

- Add notes on portability.
- Use encoding argument for all file IO.
- Use integer math to calculate major/minor version, while float
division should be fine prefer matching Blender.
March 12, 2021, 05:13 (GMT)
Cleanup: set the window manager to the updated context on load

While this happened to be corrected by code that runs afterwards,
leaving this in an invalid state could cause problems in the future.
March 12, 2021, 05:13 (GMT)
Cleanup: remove workaround for MSVC PyTypeObject declarations

This is no longer needed for MSVC-2017.
March 12, 2021, 00:57 (GMT)
Alembic procedural: specific result type for cache lookups

This type, CacheLookupResult, holds the data for the current time, or an
explanation as to why no data is available (already loaded, or simply
nothing available). This is useful to document the behavior of the code
but also, in future changes, to respond appropriately for missing data.
March 12, 2021, 00:30 (GMT)
Alembic procedural: add support for instancing

Inside of the procedural, instances are AlembicObjects which point to
the AlembicObject that they instance.

In Alembic, an instance is an untyped Object pointing to the original
(instanced) one through its source path. During the archive traversal we
detect such instances and, only if the instanced object is asked to be
rendered, set the instance's AlembicObject to point to the original's
AlembicObject.

Cycles Object Nodes are created for each AlembicObject, but only for
non-instances are Geometries created, which are then shared between
Object Nodes. It is supposed, and expected, that all instances share the
same shaders, which will be set to be the ones found on the original
object.

As for caching, the data cache for an AlembicObject is only valid for
non-instances and should not be read to or from as it is implicitly
shared.
March 11, 2021, 23:15 (GMT)
Alembic procedural: move cache building out of object update methods

This will help support instancing as cache building is now decoupled
from the logic to update the Nodes' sockets as data (and cache) will
need to be shared by different Geometries somehow, and also simplify
implementing different data caching methods by centralizing this
operation.
March 11, 2021, 23:15 (GMT)
Cleanup: unused variable
March 11, 2021, 23:15 (GMT)
Alembic procedural: fix missing attribute update

We need to explicitely tag the Attribute and AttributeSet as modified if
we change or add/remove data. This is more of a bandaid until attributes
handling is refactored to be able to reuse routines from the Attribute
API.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021