Blender Git Loki

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

Page: 15 / 26

July 30, 2021, 14:55 (GMT)
Geometry Nodes: Curve Trim Node

This node implements shortening each spline in the curve based on
either a length from the start of each spline, or a factor of the
total length of each spline, similar to the "Start & End Mapping"
panel of curve properties.

For Bezier curves, the first and last control points are adjusted
to maintain the shape of the curve, but NURB splines are currently
implicitly converted to poly splines.

The node is implemented to avoid copying where possible, so it outputs
a changed version of the input curve rather than a new one.

Differential Revision: https://developer.blender.org/D11901
July 30, 2021, 14:55 (GMT)
Make it optional to track input->output mapping in delaunay_2d_calc.

Some uses of delaunay_2d_calc don't need to know the original verts,
edges, and faces that correspond to output elements.
This change adds a "need_ids" value to the CDT input spec, default true,
which tracks the input ids only when true.
The python api mathutils.geometry.delaunay_2d_cdt gets an optional
final bool argument that is the value of need_ids. If the argument
is not supplied, it is true by default, so this won't break old uses
of the API.

On a sample text test, not tracking ids save about 30% of the runtime.
For most inputs the difference will not be so dramatic: it only really
kicks in if there are a lot of holes.
July 30, 2021, 14:55 (GMT)
Compositor: Full frame Brightness node

Adds full frame implementation to this node operation.
No functional changes.
2.4x faster than tiled fallback.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D11677
July 30, 2021, 14:55 (GMT)
Cleanup: minor correction to delaunay_2d_cdt doc-string

Use more conventional syntax for default arguments.
July 30, 2021, 14:55 (GMT)
Compositor: Full frame Ellipse Mask node

Adds full frame implementation to this node operation.
No functional changes.
3x times faster than tiled fallback.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D11635
July 30, 2021, 14:55 (GMT)
Fix broken 'undocumented' case in registration of Macro opertators.

Code dealing with macro operators missing description field was slightly
different than the one from Operator registration.

This lead to invalid memory accesses in some python introspection cases
like the i18n messages extraction code in `bl_i18n_utils` module.
July 30, 2021, 14:55 (GMT)
Cleanup: Move asset library reference C++ wrapper to own files

Although currently only the asset list code uses the asset library
reference wrapper, it can stand on its own and may be used in more
places in the future. So I prefer to give it its own source & header
file.

Also removed unused includes, added proper namespaces as per our C++
style guidelines, and removed an unnecessary TODO comment.
July 30, 2021, 14:55 (GMT)
Fix some mesh edition macro operators incorrectly setting an empty description string.

No operator or macro should be missing description. But if they do, then
they should use NULL pointer, and not an empty string.

This behavior was already enforced (through an assert) for operators,
previous commit made it the same for macros.
July 30, 2021, 14:55 (GMT)
Object update: Remove fallback from batch_cache_deform_tag

Falback is not really necessary, and causes
`BKE_object_data_batch_cache_dirty_tag` to run multithreaded in an
unsafe way.

No functional changes.
July 30, 2021, 14:55 (GMT)
Compositor: Full frame Mix node

Adds full frame implementation to this node operations.
No functional changes.
2.3x faster than tiled fallback on average.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D11686
July 30, 2021, 14:55 (GMT)
Compositor: Export operation results as debug option

When fixing issues, seeing operation results can be helpful for
detecting which operation went wrong.

This commit adds an option for exporting all operations results to
image files.
Exceptions are:
- Output operations: They are already exported or can be seen in UI.
- Constant operations: There are too many and is rarely useful.

They are exported to "<temp session folder>/COM_operations/"
with filenames "<operation class name>_<operation id>.png".
Only works on full frame execution mode.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D11722
July 30, 2021, 14:55 (GMT)
Cleanup: Make curve trim node code more semantically correct

The code used `Spline::LookupResult` in a way that referred to evaluated
points and control points interchangeably. That didn't affect the logic,
but the code became harder to read. Instead, introduce a local struct
to contain the data in a more obvious way.
July 30, 2021, 14:55 (GMT)
Cleanup: Remove unused function, unused declaration
July 30, 2021, 14:55 (GMT)
Fix: memcpy overlapping region ASAN warning in curve trim node
July 30, 2021, 14:55 (GMT)
Fix T89929: Crash when hiding in the render a previously keyframed volume

Regression introduced in {rBbfa3dc91b754}.

`ID_RECALC_GEOMETRY` should tag all operations of the `GEOMETRY`
component and not just the operation of node `GEOMETRY_EVAL_INIT`.
July 30, 2021, 14:55 (GMT)
Cleanup: remove unused MTex.pmapto, pmaptoneg & defines

These have not been in use since 2.57
fafbd9d71b95776d1c7583476de74fccefab7f10.
July 30, 2021, 14:55 (GMT)
Compositor: Full frame Double Edge Mask node

Adds full frame implementation to this node operation.
No functional changes.
No performances changes.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D11750
July 30, 2021, 14:51 (GMT)
VSE: Fix multicam splitting all selected strips

`split_multicam` used split operator, where if more strips than
multicam were selected, all would be split, which is undesirable.

Add `Sequence.split()` RNA API function. to split individual strips.
Function accepts `frame` and `split_method arguments`. Returns right
strip after splitting.

In case when strip being split have effects, these will be split too, so
no invalid state should be created.

Selection is not handled, this is by design up to user.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D11926
July 30, 2021, 14:51 (GMT)
Versioning: fix vertex group name loss in linked duplicates.

After rB3b6ee8cee708 by @HooglyBoogly vertex groups were moved
to mesh data, and versioning code was provided to upgrade old
files. However, it fails to consider the case of linked duplicates
having different name lists, and dependent on the object order
can cause some of the names to be lost. This can even be all of
them, if there is a duplicate without any names, which can be
easily created by lazy Python code.

To fix this, change the code to use the longest available name list.

Differential Revision: https://developer.blender.org/D11958
July 30, 2021, 14:51 (GMT)
Fix T89868: Crash showing thumbnail of wide-aspect image

Scaling down images could create images with a width or height of zero.

Clamp at 1 to prevent a crash, also add an assert to scaling functions.

Ref D11956
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021