July 6, 2021, 18:21 (GMT) |
Moved node group interface panel code to python. The node group interface panels were still implemented in C. Now they ported over to python for easier maintenance. Differential Revision: https://developer.blender.org/D11834 |
July 6, 2021, 18:18 (GMT) |
Merge branch 'master' into node-group-single-input-nodes |
July 6, 2021, 18:12 (GMT) |
Fix: Crash when geometry nodes NURB spline has no evaluated points |
July 6, 2021, 17:36 (GMT) |
Nodes: Adds button to groups to change type of sockets. The menu lists all socket types that are valid for the node tree. Changing a socket type updates all instances of the group and keeps existing links to the socket. If changing the socket type leads to incorrect node connections the links are flagged as invalid (red) and ignored but not removed. This is so users don't lose information and can then fix resulting issues. For example: Changing a Color socket to a Shader socket can cause an invalid Shader-to-Color connection. Implementation details: The new `NODE_OT_tree_socket_change_type` operator uses the generic `rna_node_socket_type_itemf` function to list all eligible socket types. It uses the tree type's `valid_socket_type` callback to test for valid types. In addition it also checks the subtype, because multiple RNA types are registered for the same base type. The `valid_socket_type` callback has been modified slightly to accept full socket types instead of just the base type enum, so that custom (python) socket types can be used by this operator. The `nodeModifySocketType` function is now called when group nodes encounter a socket type mismatch, instead of replacing the socket entirely. This ensures that links are kept to/from group nodes as well as group input/output nodes. The `nodeModifySocketType` function now also takes a full `bNodeSocketType` instead of just the base and subtype enum (a shortcut `nodeModifySocketTypeStatic` exists for when only static types are used). Differential Revision: https://developer.blender.org/D10912 |
July 6, 2021, 17:22 (GMT) |
Simplify python code with `bool(keys)` |
July 6, 2021, 17:20 (GMT) |
Merge branch 'master' into refactor-idprop-ui-data |
July 6, 2021, 17:17 (GMT) |
cmake: add 'wayland-protocols' to 'make deps' |
July 6, 2021, 17:17 (GMT) |
cmake: use harvested 'wayland-protocols' if system version is insufficient |
July 6, 2021, 17:17 (GMT) |
GHOST/wayland: define BTN event codes manually |
July 6, 2021, 17:17 (GMT) |
doc: add Wayland dependencies The wayland support requires the following development packages: libwayland-dev, wayland-protocols, libegl-dev, libxkbcommon-dev, libdbus-1-dev, linux-libc-dev |
July 6, 2021, 17:11 (GMT) |
Geometry Nodes: Allow 3 points in curve star primitive |
July 6, 2021, 16:31 (GMT) |
Formatting fixes. |
July 6, 2021, 16:20 (GMT) |
Cleanup: Keyframing, remove duplicate code Remove duplicate code from the `ANIM_OT_keyframe_delete` operator. The actions of the removed code are already performed by the preceding `keyingset_get_from_op_with_error()` call. No functional changes. |
July 6, 2021, 16:20 (GMT) |
Fix T89592: Can't remove keyframes without active keying set Partially revert 7fc220517f87a2c40a4f438a50485233ae6ed62f, as it introduced two issues: - Deleting keys without active keying set was no longer possible, and - there was no more confirmation popup. Pressing {key Alt I} in the 3D Viewport now executes `ANIM_OT_keyframe_delete_v3d`, adjusted to suit both T88068 and T89592: - If there is an active keying set, delete keys according to that keying set. - Otherwise, behave as `ANIM_OT_keyframe_delete_v3d` did before, that is, delete all keyframes of the selected object and in pose-mode also of selected bones. |
July 6, 2021, 16:11 (GMT) |
Compositor: Constant folding Currently there is no clear way to know if an operation is constant (i.e. when all rendered pixels have same values). Operations may need to get constant input values before rendering to determine their resolution or areas of interest. This is the case of scale, rotate and translate operations. Only "set operations" are known as constant but many more are constant when all their inputs are so. Such cases can be optimized by only rendering one pixel. Current solution for tiled implementation is to get first pixel from input. This works for root execution groups, others need previous groups to be rendered. On full frame implementation this is not possible, because buffers are created on rendering to reduce peak memory and there is no per pixel calls. This patch evaluates all operations that are constant into primitive operations (Value/Vector/Color) before determining resolutions. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11490 |
July 6, 2021, 16:11 (GMT) |
Compositor: Enable constant folding on operations Only on current full frame operations that can be constant. |
July 6, 2021, 16:11 (GMT) |
Compositor: Graphviz improvements Graphs are usually large, needing a lot of horizontal scrolling and they can include more information for debugging. This patch makes graph more compact horizontally by splitting labels in lines and removing namespaces. Furthermore it adds following information: - Operation ID. - SetValueOperation float value. - Optionally, operation node name. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11720 |
July 6, 2021, 16:04 (GMT) |
Cleanup: Set execution system as operations member in Compositor |
July 6, 2021, 16:02 (GMT) |
Changing sock->type is done by node_socket_set_typeinfo. |
July 6, 2021, 15:43 (GMT) |
Deps builder: macOS/ ffmpeg: Fix linker warning ld: warning: could not create compact unwind for _ff_rl_init_vlc: stack subq instruction is too different from dwarf stack size Similar to rB2de5de57c58521862e0fecc95fc474ea347b7468 Differential Revision: https://developer.blender.org/D11796 |
|
|
|


Master Commits
MiikaHweb | 2003-2021