Blender Git Loki

Blender Git "soc-2021-porting-modifiers-to-nodes-decimate" branch commits.

Page: 2 / 18

July 30, 2021, 14:56 (GMT)
GPencil: Fix unreported problems painting after import SVG

After doing an import, the bounding box of the stroke was not calculated and any operation related to brushes (Sculpt, Weight Paint and Vertex Paint) was not working as expected because the bounding box of the stroke was wrong.

This problem was solved automatically after any edit operation, but must be solved in the import process.
July 30, 2021, 14:56 (GMT)
install_deps: Update OIIO to 1.1.15.1.

Ref. T88438.
July 30, 2021, 14:56 (GMT)
Render: disable Z pass by default, leave only Combined

It was somewhat arbitrary to have this one pass enabled that adds a bit of
additional memory and render time overhead, even though it's not necessarily
more important than others.
July 30, 2021, 14:56 (GMT)
Fix T89976: Mirror Keys By Value performs wrong scale conversion

In the graph editor, Mirror Keys by Value would convert the value to mirror
over, to account for different units for linear & rotational properties.
The conversion was done in the different direction, though, resulting in
values that were too large by a factor of (180/pi)^2.
July 30, 2021, 14:56 (GMT)
UI: Fix time labels drawing

Calculate frequency of time/frame label drawing, such that labels have
at least 10px margin and don't overlap.

Change timecode format:
- Use at least `mm:ss` format
- Don't display frames if all labels would end with +00

Reviewed By: Severin

Differential Revision: https://developer.blender.org/D11792
July 30, 2021, 14:56 (GMT)
LayerCollection: Refactor of resync-with-Collection-hierarchy process.

The goal of this refactor is to improve resync of LayerCollections
hierarchy to match again Collection one.

Current code would destroy and re-create valid layers whenever a parent
collection would be removed, which leads to losing way too often
layer-related settings when editing collection hierarchies.

While this could be partially addressed from operators side, there was
no way to fix those issues from lower level, more generic ID management
code like ID remapping or library override resync processes.

The new code builds a shallow wrapper around existing (aka old) layers
hierarchy, does a set of checks to define the status of all existing
layers, and try to find the closest matching unused layer in cases where
layers and collections hierarchies do not match anymore.

The intent is to both re-use as much as possible existing layers, and
to pick the 'best' possible layer to re-use, following those heuristics:
* Prefer layers children of current one first (in old hierarchy), and only
use those from other higher-level hierarchies if no (grand-)child is found.
* Prefer to use closest layers available in the old hierarchy.

NOTE: The new code is about 12%-15% slower than the previous one, which is
expected given the increased complexity. Note that this would not be an
issue in practice if this code was not called way too often (needs to
be converted to lazy update instead, which is a long known TODO).

NOTE: The LayerCollectionResync code uses its own built-in version of
FIFO queue, as performances in this code is currently a critical point
(it can get called tens of thousands of times during a single (heavy)
ID management operation currently, in a production file e.g.).

Differential Revision: https://developer.blender.org/D12016
July 30, 2021, 14:56 (GMT)
Fix LibOverride crashing in some cases where reference linked data gets MIA.

When the root of an override hierarchy disapears, there is no way to do
a proper resync, just abort.

Reported by studio, thx.
July 30, 2021, 14:56 (GMT)
LineArt: Occlusion accuracy fix.

This patch fixes occlusion function to handle one specific case (when an edge shares a point with triangle) better,especially when there's overlapping edges in this case.
July 30, 2021, 14:56 (GMT)
Fix T90221: geometry viewer node links to other socket types

The viewer node in geometry node trees only supports geometry nodes.
This patch ensures that when ctrl shift clicking on a node, it will only
link to geometry sockets.

Differential Revision: https://developer.blender.org/D12055
July 30, 2021, 14:56 (GMT)
LineArt: Camera Overscan

Expand camera effective region to a portion beyond image frame so strokes won't end right at the border.

Reviewed By: Antonio Vazquez (antoniov)

Differential Revision: https://developer.blender.org/D12049
July 30, 2021, 14:56 (GMT)
Deps: ensure osl/bin/oslc is using static libpng

Pass `-DLINKSTATIC=ON` to the OSL CMake, to ensure it statically links to
our libpng. Previously this was only applied on Windows, it's now on all
platforms.
July 30, 2021, 14:56 (GMT)
Data-block Preview: Create preview using current frame

The preview was always using frame 1, but maybe the object has changed and it's better create preview using the current frame.

Reviewed By: Severin

Differential Revision: https://developer.blender.org/D12018
July 30, 2021, 14:56 (GMT)
Install_deps: Add zstd dependency.

Ref T88438.
July 30, 2021, 14:56 (GMT)
Cleanup: reduce indentation in bpy.props

Remove unnecessary NULL checks.
July 30, 2021, 14:56 (GMT)
Fix menu poll function being ignored for UILayout.menu

Using `UILayout.menu()` [1] or `UILayout.menu_contents() [2], the menu
would just always be added, the `poll()` check not being executed. As
API user I would expect the `poll()` to deterimine visiblity of the
menu.

[1] https://docs.blender.org/api/current/bpy.types.UILayout.html#bpy.types.UILayout.menu
[2] https://docs.blender.org/api/current/bpy.types.UILayout.html#bpy.types.UILayout.menu_contents

Differential Revision: https://developer.blender.org/D12053

Reviewed by: Campbell Barton
July 30, 2021, 14:56 (GMT)
Fix Cycles crash with fluid object motion blur disabled

Motion attributes expects mesh to have non-zero number of motion steps,
which was violated in the case when fluid mesh had motion blur disabled.

This is a bit of annoying fix, because of the order of updates. More
ideal solution would be to handle cached and fluid velocities in the
sync_mesh_motion() which ensures all the dependencies between settings.
July 30, 2021, 14:56 (GMT)
Fix memory leaks in Python gizmo get/set handlers
July 30, 2021, 14:56 (GMT)
Cycles: remove WITH_CYCLES_DEBUG, add WITH_CYCLES_DEBUG_NAN

WITH_CYCLES_DEBUG was used for rendering BVH debugging passes. But since we
mainly use Embree an OptiX now, this information is no longer important.

WITH_CYCLES_DEBUG_NAN will enable additional checks for NaNs and invalid values
in the kernel, for Cycles developers. Previously these asserts where enabled in
all debug builds, but this is too likely to crash Blender in scenes that render
fine regardless of the NaNs. So this is behind a CMake option now.

Fixes T90240
July 30, 2021, 14:56 (GMT)
BlenRead: Add GHash-based search for already read linked IDs.

Ths commit adds a new `IDNameLibMap` to `Main`, used during file reading
to quickly find already read linked IDs.

Without that, search would use string-based search over list of linked
data, which becomes extremely slow and inneficient in cases where a lot
of IDs are linked from a same library. See also {T89194}.

Extrem-usecase reported in T89194 is now about 4 times faster in linked
data reading (about 2 times faster for the whole .blend file loading).

More normal cases (like Sprites studio production files) have barely
measurable speed improvements, a few percents at best.

NOTE: `main_idmap` API was extended to support insertion and removal of
IDs from the mapping, avoids having to re-create the whole thing several
time during libraries expansion in readcode.

Differential Revision: https://developer.blender.org/D11757
July 30, 2021, 14:56 (GMT)
Fix building without Cycles logging

Ideally can use assert() checks instead of suppressing the check entirely,
but for now just fix compilation error quickly.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021