Blender Git Loki

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

Page: 10 / 26

July 30, 2021, 14:56 (GMT)
Cleanup: remove unused BM_mesh_loop_normals_update function

The only difference with BM_loops_calc_normal_vcos was passing in
custom coordinates which may be NULL.
July 30, 2021, 14:56 (GMT)
Edit Mesh: multi-thread auto-smooth & custom normal calculations

Supported multi-threading for bm_mesh_loops_calc_normals.

This is done by operating on vertex-loops instead of face-loops.

Single threaded operation still loops over faces since iterating
over vertices adds some overhead in the case of custom-normals
as the order used for accessing loops must be the same as iterating
of a faces loops.

From isolated timing tests of bm_mesh_loops_calc_normals on high
poly models, this gives between 3.5x to 10x speedup,
with larger gains for meshes with custom-normals.

NOTE: this is part one of two patches for multi-threaded auto-smooth,
tagging edges as sharp is still single threaded.

Reviewed By: mont29

Ref D11928
July 30, 2021, 14:56 (GMT)
PyGPU: new method 'GPUFrameBuffer.read_depth'

Method requested by users in order to port addons to new API.
July 30, 2021, 14:56 (GMT)
Geometry Nodes: Set Bezier Handle Type Node

This node takes a curve and a point selection and allows you to set the
specified (or all) points left/right or both handles to a given type.

Differential Revision: https://developer.blender.org/D11992
July 30, 2021, 14:56 (GMT)
Animation: Generic Slider implementation

Extract the slider gui implemented for the pose slide tools.
Generalise it so it can be used by other tools as well.

Reviewed by: Sybren A. St�vel
Differential Revision: https://developer.blender.org/D9314
Ref: D9314
July 30, 2021, 14:56 (GMT)
Compositor: Fix crash when using empty input sources

It's the case of Image or Movie Clip node when not selecting any
source or an empty one.
Render methods expect an output buffer with size, only render
operations with resolution.
July 30, 2021, 14:56 (GMT)
Cleanup: double spaces in strings
July 30, 2021, 14:56 (GMT)
Compositor: Full frame Texture node

Adds full frame implementation to this node operation.
No functional changes.
July 30, 2021, 14:56 (GMT)
Cleanup: code comments punctuation / spacing
July 30, 2021, 14:56 (GMT)
VSE: Speed Effect layout updates

**Changes:**
- New enums correspond to 4 modes: `Stretch`, `Multiply`, `Frame Number` and `Length`.
- "`Multiply Factor`" has been removed;
- Value corresponding to "`use as speed`" enabled is now the value appended to the `Multiply` enum;
- Value corresponding to "`use as speed`" disabled is now the value appended to the `Frame Number` enum;
- Value corresponding to "`Scale to Length`" enabled is now the value appended to the `Length` enum;
- Except `Stretch` each mode has now its respective control values.

Differential Revision: https://developer.blender.org/D11856
July 30, 2021, 14:56 (GMT)
Man Page: Fix spelling
July 30, 2021, 14:56 (GMT)
Compositor: Fix buffer area iterating past the end

July 30, 2021, 14:56 (GMT)
Geometry Nodes: Display Node Warnings in Modifier

With this commit, node warnings added to nodes during evaluation
(not "Info" warnings) will also draw in the modifier. In the future
there could be a "search for this node" button as well.

Differential Revision: https://developer.blender.org/D11983
July 30, 2021, 14:56 (GMT)
Cleanup: "position tracking" typo in enum member
July 30, 2021, 14:56 (GMT)
Edit Mesh: multi-thread auto-smooth sharp-edge calculation

Merge the sharp edge tagging into bm_mesh_loops_calc_normals,
this has the advantage that edge tagging can be performed as part of
walking over each vertices edges - instead of tagging in a separate loop.

Even though this will tag edges twice (once for each vertex),
the computation isn't heavy as it's only calculating a dot-product
between the two face users to compare the angle.

This change combined with 4ba06ad0a8cdec66d9a9cb06f982736d46c40f4c
makes BM_loops_calc_normal_vcos around 5.68x faster,
with an overall speedup over 2.6x when transforming a high poly mesh.
(tested on a system with 32 cores).

Reviewed By: mont29

Ref D11970
July 30, 2021, 14:56 (GMT)
Fix error setting sharp edges in recent normal calculation changes

bm_mesh_edges_sharp_tag was called with setting sharp edges enabled.
Error in 39b2a7bb7e815e051348bf5c5ec777d091324164.
July 30, 2021, 14:56 (GMT)
Fix: "Bake" automatically calculated handles in set handle node

Because these handles are calculated lazily, we need to make sure they
are calculated before switching to a manually positioned mode.
I doubt it would ever be necessary, but theoretically this could happen
on a per-point level, to avoid calculating handles not in the selection.
July 30, 2021, 14:56 (GMT)
XR: Reference Space Improvements

Improves control over the XR reference space by using the stage ref
space (user-defined tracking bounds) instead of local ref space
(position at application launch), if available. Also adds an
"absolute tracking" session option to skip applying eye offsets that
are normally added for placing users exactly at landmarks.

By enabling absolute tracking, users can define the tracking origin
in a way that is not linked to the headset position. Instead, the
tracking values given by the XR runtime are left unadjusted and a
user can manually calibrate an "origin" landmark object to adjust to
their real world space.

Can be useful for applications that use external tracking systems
and those that primarily only need to use controllers and not the
headset (e.g. motion capture).

The absolute tracking option requires an update to the VR
Scene Inspection addon to be accessible by regular users.

Reviewed By: Julian Eisel

Differential Revision: https://developer.blender.org/D10946
July 30, 2021, 14:56 (GMT)
Fix T89829: wrong active context path check in spreadsheet

The problem was that the modifier was reevaluated all the time, even
between showing the attribute search and clicking on the attribute
name. This freed the data referenced by attribute search. The real bug
here was that the dependency graph was tagged for update even
though nothing changed. This was because the spreadsheet thought
its active context has changed and it wanted to compute the new
value to be shown in the spreadsheet.

The reason for the bug was that I confused how the tree-path of a
node editor works. The second element in the tree path contains
the name of the group node in the root tree that we're in (instead
of the first element).

Differential Revision: https://developer.blender.org/D12009
July 30, 2021, 14:56 (GMT)
Cleanup: de-duplicate code for edge-split tagging

Share functionality for single and multi-threaded edge-split tagging.

Remove logic that ensured vert & loop indices in bm_mesh_edges_sharp_tag
(missing from fd9fc809b76d625a1ead6e1fbe5e486cc012f5f3).
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021