Blender Git Commits

Blender Git "master" branch commits.

Page: 354 / 5574

March 11, 2021, 13:26 (GMT)
LibOverride: Do not delete no-more-used overrides during resync if they are user-edited.

Ultimately those will be listed with a special icon in the upcomming
Outliner overrides view.

Part of T83811 & D10649.
March 11, 2021, 13:26 (GMT)
LibOverride: First stage of detection of 'need resync'.

We can fairly easily detect some resync-needed cases when applying the
overrides operations on a Pointer RNA property.

This should cover all cases where an existing override's ID pointer is
changed in its linked data.

We still have to add code to detect when a not-yet-overridden linked ID
needs to become overridden (because its relations to other data-blocks
changed in a way that requires it).

Part of T83811 & D10649.
March 11, 2021, 13:26 (GMT)
LibOverride: Add second part of auto-resync code.

`BKE_lib_override_library_main_resync` uses
`LIB_TAG_LIB_OVERRIDE_NEED_RESYNC` tags set by RNA override apply code,
and perform detection for the remaining cases (those were new overrides
need to be created for data that was not present before in the library).

And then it actually resync all needed local overrides.

Part of T83811 & D10649.
March 11, 2021, 13:26 (GMT)
LibOverride: auto-run resync process on file reading.

Part of T83811 & D10649.
March 11, 2021, 13:12 (GMT)
Cycles: Change device-only memory to actually only allocate on the device

This patch changes the `MEM_DEVICE_ONLY` type to only allocate on the device and fail if
that is not possible anymore because out-of-memory (since OptiX acceleration structures may
not be allocated in host memory). It also fixes high peak memory usage during OptiX
acceleration structure building.

Reviewed By: brecht

Maniphest Tasks: T85985

Differential Revision: https://developer.blender.org/D10535
Revision 0f60dbe by Julian Eisel
March 11, 2021, 12:49 (GMT)
Cleanup: Pass anim-data directly to Outliner anim-data tree element constructor

Rather than letting the `TreeElementAnimData` constructor take an ID from which
we get the animation-data based on an assumption on how it's stored, let the
constructor take the animation-data directly. That way we further centralize
the assumptions on the data passed to the element creation to
`tree_element_create()`.
The following commit will add a comment explaining the plan to entirely get rid
of those assumptions in the future.
Revision ba996dd by Julian Eisel
March 11, 2021, 12:49 (GMT)
Cleanup: Add comment explaining plan for new Outliner tree-element code design

Explains how we can get rid of implicit assumptions and `void *`
arguments/storage in the future.
March 11, 2021, 12:28 (GMT)
Fix (unreported): crash on undo when using pinned id in spreadsheet

Now the behavior is the same as in the properties editor, as far as I can tell.
Revision fade765 by Julian Eisel
March 11, 2021, 12:20 (GMT)
Outliner: Add assert to make assumption for new code design explicit

There was an implicit assumption that tree element types using the new code
design set their name on creation. Use an assert to make this explicit. See
f59ff9e03a633, which was an error because of this broken assumption.
Revision f59ff9e by Julian Eisel
March 11, 2021, 12:18 (GMT)
Fix crash when showing NLA actions in the Outliner

Caused by 2e221de4ceee in combination with 4292bb060d59.
In the former I forgot to set the name for NLA actions in the new code design,
in the latter I made it an assumtion that tree element types using the new
design set the name.
The following commit will make this assumption explicit with an assert.
Revision 42c5303 by Julian Eisel
March 11, 2021, 12:06 (GMT)
Cleanup: Typos in comments (window-manager files)

Typos from a509e79a4c77. Looks like issues with an automated cleanup tool.
Revision 018fffb by Julian Eisel
March 11, 2021, 12:06 (GMT)
Fix failing assert when loading file with untraceable custom asset library

When loading a file with an asset browser open, and it showed a custom asset
library that can't be found currently (e.g. because the file is from somebody
else), the `BLI_assert(0)` in `rna_FileAssetSelectParams_asset_library_get()`
would fail.

There was code to handle this case already, but unlike I thought it didn't run
right after file read. Now it does.
March 11, 2021, 11:23 (GMT)
Spreadsheet: expore more domains and point cloud data

Ref T86135.

Differential Revision: https://developer.blender.org/D10681
March 11, 2021, 10:56 (GMT)
Fix T86458: Simple Subdivision node does not preserve vertex groups

Differential Revision: https://developer.blender.org/D10683
March 11, 2021, 10:35 (GMT)
Geometry Nodes: improve handling when the same socket is connected twice

The multi-input-socket cannot be connected to the same socket twice currently.
However, it is still possible to achieve this using an intermediate reroute node.

In this case the origin socket should be listed twice in the `linked_sockets_` list.
Higher level functions can still deduplicate the list of they want.
March 11, 2021, 03:10 (GMT)
UI: Add Copy Full Data Path to RMB menu

This commit adds an operator to the RMB-menu "Copy Full Data Path?,
to copy the full RNA path to the clipboard. It aims to complement
"Copy Data Path?, which only copies the part of the path that is needed
for drivers, but for writing addons, etc. it is useful to have an option that
gives the full data path.

Similar patch have been submitted before, see D763 and D2746

This time I did not split the operator (as D2746) and does not contain the UI reorganization (as D763)

Note, the fixes from D2746 were committed in rB09eac0159db8 so that patch can be closed.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D10539
March 10, 2021, 21:19 (GMT)
Geometry Nodes: fix error adding a value node

Caused by own rBcf2933c38a34 which changed the poll on this node to be
"shading-only", but this one is actually supported.
March 10, 2021, 16:57 (GMT)
EEVEE: ScreenSpaceReflections: Improve hit quality

This changes the hitBuffer to store `ReflectionDir * HitTime, invPdf`
just as the reference presentation.

This avoids issues when the hit refinement produce a coordinate that
does not land on the correct surface.

We now store the pdf in the same texture and store it inversed so we can
remove some ALU from the resolve shader.

This also rewrite the resolve shader to not be vectorized to improve
readability and scalability.
March 10, 2021, 16:57 (GMT)
EEVEE: GGX: Use distribution of visible normal for sampling

This changes the sampling routine to use the method described in
"A Simpler and Exact Sampling Routine for the GGXDistribution of Visible Normals"
by Eric Heitz.
http://jcgt.org/published/0007/04/01/slides.pdf

This avoids generating bad rays and thus improve noise level in screen-
space reflections / refraction.
March 10, 2021, 16:57 (GMT)
Cleanup: EEVEE: Use correct prefix for view space vectors
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021