Blender Git Commit Log

All Blender Git commits.

Page: 255 / 8462

September 10, 2021, 14:48 (GMT)
Modifiers: export motion blur velocity through attribute

Previously fluid simulation and Alembic modifiers had a dedicated function
to query the velocity for motion blur. Now use a more generic system where
those modifiers output a velocity attribute.

Advantages:
* Geometry and particle nodes can output velocity through the same mechanism,
or read the attribute coming from earlier modifiers.
* The velocity can be preserved through modifiers like subdivision surface or
auto smooth.
* USD and Alembic previously only output velocity from fluid simulation, now
they work with velocity from other sources too.
* Simplifies the code for renderers like Cycles and exporters like
Alembic and USD.

This breaks compatibility:
* External renderers and exporters accessing these velocities through the
Python API now need to use the attribute instead.
* Existing modifier node setups that create an attribute named "velocity"
will render differently with motion blur.

Differential Revision: https://developer.blender.org/D12305
September 10, 2021, 14:48 (GMT)
Tests: more graceful handling of keyboard interrupting benchmarks

Leave current test result unchanged and stop executing immediately,
so it can be continued.
September 10, 2021, 14:21 (GMT)
Merge branch 'master' into asset-greasepencil
September 10, 2021, 14:02 (GMT)
Curve fillet fields implementation
September 10, 2021, 13:55 (GMT)
Fix T90010: Cycles X random walk discontinuity between low and zero albedo
September 10, 2021, 13:44 (GMT)
Merge branch 'master' into temp-asset-browser-catalogs-ui
September 10, 2021, 13:01 (GMT)
Add missing bit to own previous commit

Amendment to 7a5216497cc3.
Removed this before committing, because I thought it wasn't needed. Of
course it was...
September 10, 2021, 12:58 (GMT)
Python: extra check on `BPY_thread_save()` to ensure proper GIL handling

Use `_PyThreadState_UncheckedGet()` to check that the current thread is
tracked by Python before checking whether it has the GIL. The latter
will abort when the former is false.
September 10, 2021, 12:45 (GMT)
Cleanup: Fix comment in recent commit.

A task is created for each item in a list base. It used to say that a
thread was created for each item.
September 10, 2021, 12:44 (GMT)
Fix possible crash displaying asset preview from current file

For some reason the asset preview isn't created or loaded correctly in
some instances. This could be addressed with D9974, but hard to tell
since I only have a failing .blend file, no steps to recreate it from
scratch.

Would crash when opening an Asset Browser, selecting an object asset
(that has an invalid preview stored) and opening the Asset Browser
sidebar, so that the preview is visible there.
September 10, 2021, 12:34 (GMT)
Transform: only evaluate CPU subdivision if snapping is used.
September 10, 2021, 12:31 (GMT)
T78995: Enable keylist threaded drawing.

This enabled multithreaded building of the keys that needs to be drawn
in the timeline (and other action editors).

On an AMD Ryzen 3800 using a mocap data test file (available in patch)
the performance went from 2fps to 8fps. The performance increase depends
on the number of rows of keyframes that is shown in for example the
timeline editor.

Each row will be using a different thread. Currently the bottleneck is
the summary channel that we could split up in the future even more (
although that is a complex refactoring work).

Reviewed By: sybren

Differential Revision: https://developer.blender.org/D12198
September 10, 2021, 12:27 (GMT)
fix missing return value
Revision a1167e9 by Omar Emara (master)
September 10, 2021, 12:25 (GMT)
BLI: Add Cycles compatible Perlin noise

This patch adds new Perlin noise functions to BLI. The noises are compatible
with the shading texture noises in EEVEE, SVM, and OSL.

The existing Jenkins hash functions couldn't be used because they are not
compatible with the shading implementations and an attempt at adjusting the
implementation will break compatibility in various areas of Blender. So the
simplest approach is to reimplement the relevant hashing functions inside the
noise module itself.

Additionally, this patch also adds a minimal float4 structure to use in the
interface of the noise functions.

Reviewed By: JacquesLucke

Differential Revision: https://developer.blender.org/D12443
September 10, 2021, 12:14 (GMT)
Switched to node declare
September 10, 2021, 11:28 (GMT)
Anim: Keylist drawing optimization by using arrays.

Change data structure of keylists. Reducing the balancing overhead and therefore increases performance.

| **Function** | **Master** | **Patch** |
|`draw_summary_channel`| 0.202105s| 0.083874s |

When adding items to the keylist it will store it in a linked list. This linked list is
accompanied with the length (key_len) and a `last_accessed_column`. last_accessed_column is a cursor
that improve the performance when adding new items as they are mostly ordered by frame numbers.
last_accessed_column is reset when a new fcurve/mask/... is added to the keylist.

Before searching or array access. the listbase needs to be converted to an array.
`ED_keylist_prepare_for_direct_access`. After that the caller can use
`ED_keylist_find_*` or `ED_keylist_array*` functions.

The internal array can also be accessed via the `ED_keylist_listbase` function.
The items inside the array link to the previous/next item in the list.

Reviewed By: sybren

Differential Revision: https://developer.blender.org/D12052
September 10, 2021, 10:28 (GMT)
Fix failure in asset catalog tests
September 10, 2021, 09:53 (GMT)
fix removed argument
September 10, 2021, 09:47 (GMT)
Merge branch 'temp-asset-browser-catalogs' into temp-asset-browser-catalogs-ui
September 10, 2021, 09:45 (GMT)
Merge branch 'master' into temp-asset-browser-catalogs
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021