Blender Git Commits

Blender Git "master" branch commits.

Page: 162 / 5574

August 31, 2021, 02:06 (GMT)
Context: add "active_nla_track" & "active_nla_strip" context members

Selection was already accessible but not active.

Add utility functions:

- ANIM_nla_context_track to access the active track,
following the convention of ANIM_nla_context_strip.

- ANIM_nla_context_*_ptr versions of these functions,
needed to for creating context members to access the ID pointer.

Part of fix for T90723.
August 31, 2021, 02:06 (GMT)
Fix logical error resolving RNA paths

Only append RNA_path_from_ID_to_struct to context attributes if those
paths resolve to ID types.

Also simplify creating RNA paths by adding utility functions:

- WM_context_path_resolve_property_full
- WM_context_path_resolve_full

Part of fix for T90723.
August 31, 2021, 01:46 (GMT)
Fix 'WM_window_find_under_cursor'

This function was not working if the window is partially out of screen space.
August 31, 2021, 01:12 (GMT)
Fix T90988: Incorrect speed effect strip math

Math implemented in 929d7597b345 was incorrect, but also inconsistent
with previous behavior.

`SEQ_SPEED_STRETCH` should change length only when right handle is
moved. This is now documented in code.
August 30, 2021, 22:27 (GMT)
Fix VSE move_to_meta function moving meta strip

API function `move_to_meta` should move strips without changing context
data like `MetaStack` that tells UI which meta strip should be
displayed and operated upon.

`SEQ_time_update_sequence` relied on `MetaStack` to update meta strip
content length. Instead of changing function `SEQ_time_update_sequence`,
use function `SEQ_time_update_meta_strip_range` directly. This is
because caller would have to be aware of parent meta strip that needs
update anyway.
August 30, 2021, 22:26 (GMT)
PyDoc: Fix compliation warning
August 30, 2021, 22:17 (GMT)
PyDoc: Fix compilation after recent contex_member addition

Fixes missing change needed for rB0a8f53a7b847d9c8bdcefc025de70fd2608012b7
August 30, 2021, 21:39 (GMT)
Cleanup: sequencer operators

- Use name 'strip' instead of 's'
- Assign a variable to 'scene' instead of accessing from context.
- Avoid temporary variable for swapping values.
August 30, 2021, 21:27 (GMT)
Cleanup: use new active_sequence_strip context attribute
August 30, 2021, 21:13 (GMT)
Context: add "active_sequence_strip" context member

This is an alternative to context.scene.sequence_editor.active_strip
which could be verbose, especially with additional None checks.

Part of fix for T90723, extracted from D12297.
August 30, 2021, 20:12 (GMT)
Docs: GPU Shader: improvements

Changes:
- line break
- enum highlighting
- better description
August 30, 2021, 16:26 (GMT)
Fix: add virtual destructor to base class
August 30, 2021, 15:30 (GMT)
Cleanup: clang-tidy

readability-named-parameter
August 30, 2021, 15:23 (GMT)
Nodes: add more flexible method to declare sockets of a node

Previously, built-in nodes had to implement "socket templates"
(`bNodeSocketTemplate`) to tell Blender which sockets they have.
It was nice that this was declarative, but this approach was way
too rigid and was cumbersome to use in many cases.

This commit starts to move us away from this rigid structure
by letting nodes implement a function that declares the sockets
the node has. Right now this is used as a direct replacement
of the "socket template" approach to keep the refactor smaller.
It's just a bit easier to read and write.

In the future we want to support more complex features like
dynamic numbers of sockets and type inferencing. Those features
will be easier to build on this new approach.

This new approach can live side by side with `bNodeSocketTemplate`
for a while. That makes it easier to update nodes one by one.

Note: In `bNodeSocketTemplate` socket identifiers were made
unique automatically. In this new approach, one has to specify
unique identifiers manually (unless the name is unique already).

Differential Revision: https://developer.blender.org/D12335
August 30, 2021, 15:04 (GMT)
Fix T91056: GPencil merge layers doesn't preseve Keyframe type.

Now if the frame does not exist in destination layer, the frame type of merge layer is used.

For existing frames in destination layer, the existing type is not changed.
August 30, 2021, 13:17 (GMT)
Fix T90742: Gpencil ghost point on selection

Reviewed By: fclem, filedescriptor

Maniphest Tasks: T90742

Differential Revision: https://developer.blender.org/D12259
August 30, 2021, 12:21 (GMT)
Docs: retitle 'GPU Shader Module' to 'GPU Module'

We already have a module for GPU Shader (`gpu.shader`).

So, remove the name "Shader" from the title to avoid confusion.
August 30, 2021, 04:27 (GMT)
Geometry Nodes: Curve Fill Node

This node takes a curve geometry input and creates a filled mesh at Z=0
using a constrained Delaunay triangulation algorithm. Because of the
choice of algorithm, the results should be higher quality than the
filling for 2D curve objects.

This commit adds an initial fairly simple version of the node, but more
features may be added in the future, like transferring attributes when
necessary, or an index attribute input to break up the calculations
into smaller chunks to improve performance.

Differential Revision: https://developer.blender.org/D11846
Revision 41eb337 by Hans Goudey
August 30, 2021, 03:12 (GMT)
Cleanup: Add comment about suspicious O(n^3) loop
August 30, 2021, 03:08 (GMT)
Geometry Nodes: Enhance the cube mesh primitive as a cuboid

This mesh primitive enhances the Cube mesh primitive and allows the
creation of a cuboid with a configurable size and number of vertices
in all 3 directions. The Cube primitive is now similar to the Grid
primitive except that it works in 3 dimensions.

Previously it was possible to create a cube and scale it arbitrarily
along each axis. You could also subdivide the mesh, but the number of
subdivisions was equal along all axes. This meant that making the basic
frame for something like modular buildings wasn't trivial.

Inspired by tutorials and files for modular building creation.

The cuboid is created as a `Mesh` so that large meshes with millions of
faces are created quickly. Though edge calculation could be faster if
implemented here, edges are calculated using `BKE_mesh_calc_edges`
to reduce complexity, and in hopes that they may be calculated lazily
for `Mesh` in the future like vertex normals.

See the differential revision for more information.

Differential Revision: https://developer.blender.org/D11810
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021