Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-06-03Geometry Nodes: Show supported types in geo socket tooltipAngus Stanton
Show the supported geometry types returned by geometry node socket declarations in the socket inspection tooltip. Differential Revision: https://developer.blender.org/D14802
2022-06-03Compositor: add pre/post/cancel handlers and background job infoPhilipp Oeser
Main motivation is from T54314 where there was no way to read from a Viewer image datablock after the compositor has run. The only solution there was to do a full rerender (which obviously takes much longer). Adding a handler avoids having to rerender. This uses new syntax from rBf4456a4d3c97 and also adds "COMPOSITE" as a job type that can be queried by `bpy.app.is_job_running`. NOTE: there is another issue when multiple viewers are used and these get active via RNA (compo execution is not triggered there yet -- unlike when a viewer is selected in the Editor -- this is an issue of `ED_node_set_active` vs. only `nodeSetActive`, but this will be tackled separately) Maniphest Tasks: T54314 Differential Revision: https://developer.blender.org/D15078
2022-06-01Cleanup: use 'e' prefix for enum typesCampbell Barton
- CustomDataType -> eCustomDataType - CustomDataMask -> eCustomDataMask - AttributeDomain -> eAttrDomain - NamedAttributeUsage -> eNamedAttrUsage
2022-05-31Geometry Nodes: Don't allow UI attributes as modifier field inputsJacques Lucke
This is an extension of 4669178fc3786e1, applying the same changes to attributes chosen in the field inputs of the geometry nodes modifier. If a UI/internal attribute is used, the attribute name button will have a red alert. Adding a disabled hint is currently a bit more complex. Also hide UI attributes in attribute search for the named attribute node. Part of D14934
2022-05-30Fix T96157: Make size of Frame Node label independent from Line WidthDominik Fill
This commits corrects the calculation of the Frame Node label size, making it independent of the 'Line Width' user preference. Since `U.dpi` is actually DPI divided by `U.pixelsize` and `U.pixelsize` is calculated from line-width multiplying by `U.pixelsize` undoes the connection between line-width and label size. It now stays the same, regardless of the line-width setting. Reviewed By: Julian Eisel, Harley Acheson Differential Revision: https://developer.blender.org/D14338
2022-05-30Cleanup: Clang tidyHans Goudey
Mostly duplicate includes, also use nullptr, and using default member initializers.
2022-05-30Nodes: add separately allocated runtime data for nodes and socketsJacques Lucke
This is a follow up to rBbb0fc675822f313c5546a2498a162472c2571ecb. Now the same kind of run-time data is added to nodes and sockets. Differential Revision: https://developer.blender.org/D15060
2022-05-25Cleanup: spelling, unbalanced doxy sectionsCampbell Barton
2022-05-24Drag & drop: Use session UUID of IDs instead of name for droppingJulian Eisel
Dropping would pass the name of the ID to drop to the properties of the drop operator. This would then lookup the ID by name. With linking and/or library overrides, multiple IDs of the same name and type may exist, which is why the session UUID should be used instead. All operators used for dropping support this now and the drop code passes the session UUID instead of the name. Also see 917c096be6b9 and 8f79fa9c6780. Some drop operators were already using the session UUIDs. This converts the remaining ones. The "name" property is kept working as before, since some scripts use this. Side-effect: The "Name" property won't show up in the Adjust Last Operation anymore, which was the case for some of these operators, and its value won't be remembered over multiple executions of the operator. Both were not at all useful from what I can tell, and I doubt this was done intentionally.
2022-05-24Cleanup: Use new helpers for passing IDs from drag & drop to operatorsJulian Eisel
There are now some generalized helpers for passing IDs from drag & drop to operators via operator properties, mostly introduced in 917c096be6b9 and 8f79fa9c6780. These can be used in a bunch of places to reduce duplicated code and explicitly share a common solution. Side-effect: The "Name" property won't show up in the Adjust Last Operation anymore, and its value won't be remembered over multiple executions of the operator. Both were not at all useful from what I can tell, and I doubt this was done intentionally.
2022-05-24Merge branch 'blender-v3.2-release'Jacques Lucke
2022-05-24Fix T98152: Named Attribute node changes data type for non-existant attributesJacques Lucke
Skip changing the data type in the node if it is not known.
2022-05-24Merge branch 'blender-v3.2-release'Clément Foucault
2022-05-24Fix T98328: missing depsgraph update after adding node groupJacques Lucke
Adding node groups can change depsgraph relations, so the depsgraph has to be rebuild.
2022-05-23Merge remote-tracking branch 'origin/blender-v3.2-release'Dalai Felinto
2022-05-23Fix T97237: dragging custom node group asset adds broken nodeJacques Lucke
Differential Revision: https://developer.blender.org/D15013
2022-05-18Fix build error on WIN32 from `_bpy.context_members`Campbell Barton
As of [0] which references context arrays from the Python API, C++ name mangling caused 'node_context_dir' not to be found for WIN32. [0]: c8edc458d13c0483907d0fe6f44f6e2887263b57
2022-05-18Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-18Fix T98191: Alt-LMB for node detach fails with RMB selectCampbell Barton
Regression caused by [0] which changed node selection to use PRESS for selection and CLICK_DRAG to transform the selection. This conflicted with Alt-LMB which would select the node then pass-though to node.background_sample, preventing the drag event from being activated. Resolve by only activating background-sample when the cursor isn't over a node or socket. [0]: 4c3e91e5f565b81dd79b5d42f55be5b93662d410
2022-05-15Cleanup: Clang tidyHans Goudey
2022-05-13Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-13Fix T89909: Circle Select tool status bar doesn't match the operationsCampbell Barton
Assign get_name functions for select picking and circle select so modifier keys show the result of holding the modifiers.
2022-05-11Cleanup: use '_num' suffix, mostly for curves & spline codeCampbell Barton
Replace tot/amount & size with num, in keeping with T85728.
2022-05-11Cleanup: use doxy sections for node_edit.ccCampbell Barton
2022-05-10UI: Geometry Nodes IconDalai Felinto
Geometry Nodes (new) icon. So far we were using the generic node-tree icon for geometry nodes, not anymore. The new icon is composed of 4 spheres that is a reference to the original pebbles demo. Scattering points was also the turning point for the project (which originally was focusing on dynamic effects), and to this day is one of the first steps for everything procedural such as hair. Note that the modifier icon is still showing as white in the outliner. The alternative is to be blue everywhere. Patch review and feedback by Hans Goudey. Icon creation in collaboration with Pablo Vazquez.
2022-05-10Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-10Fix T96520 Node editor: Tweak fails with unselected nodesCampbell Barton
Use the same method for node selection and dragging that is used in the 3D viewport and UV editor. Instead of relying on a modal operator - use the keymap to handle click/drag events. Details: Failure to transform unselected nodes was caused by [0] & [1] however detecting drag relied on specific behavior which I don't think we should be depending on. This error happened when selection was defined both in the key-map for the tool and for the node-editor. - The left mouse button would activate selection in both the tool and "Node Editor" keymap. - The first selection would return `FINISHED | PASS_THROUGH` when selecting a previously unselected node. - The same PRESS would trigger a second selection would return `RUNNING_MODAL | PASS_THROUGH`, (starting a NODE_OT_select as a modal operator). - In 3.1 (with tweak events) the modal operator would then exit and fall-back to the tweak event which would transform the selected nodes. - In 3.2 (as of [0]) the PRESS that starts the modal operator is considered "handled" and prevents drag event from being detected. The correct behavior in this case isn't obvious: If a modal operator starts on pressing a button, using that same the release to generate drag/click events is disputable. Even in the case or 3.1 it was inconsistent as tweak events were generated but click events weren't. Note: after investigating this bug it turns out a similar issue already existed in 2.91 and all releases afterwards. While the bug is more obscure, it's also caused by the tweak event being interrupted as described here, this commit resolves T81824 as well. [0]: 4d0f846b936c9101ecb76a6db962aac2d74a460a [1]: 4986f718482b061082936f1f6aa13929741093a2 Reviewed By: Severin Ref D14499
2022-05-06Cleanup: spelling in comments, use doxygen commentsCampbell Barton
2022-05-05Merge branch 'blender-v3.2-release'Sergey Sharybin
2022-05-05Fix T97575: Toggling fullscreen causes compositor recalcCampbell Barton
The root of the issue is that compositor is using refresh mechanism to handle recalc. The safest fix which does not require deep refactor is to check to whether node space was tagged for refresh from listener (currently it is listeners which are responsible for tackling compositor tree recalc). Differential Revision: https://developer.blender.org/D14856
2022-05-04Nodes: Add general Combine/Separate Color nodesHallam Roberts
Inspired by D12936 and D12929, this patch adds general purpose "Combine Color" and "Separate Color" nodes to Geometry, Compositor, Shader and Texture nodes. - Within Geometry Nodes, it replaces the existing "Combine RGB" and "Separate RGB" nodes. - Within Compositor Nodes, it replaces the existing "Combine RGBA/HSVA/YCbCrA/YUVA" and "Separate RGBA/HSVA/YCbCrA/YUVA" nodes. - Within Texture Nodes, it replaces the existing "Combine RGBA" and "Separate RGBA" nodes. - Within Shader Nodes, it replaces the existing "Combine RGB/HSV" and "Separate RGB/HSV" nodes. Python addons have not been updated to the new nodes yet. **New shader code** In node_color.h, color.h and gpu_shader_material_color_util.glsl, missing methods hsl_to_rgb and rgb_to_hsl are added by directly converting existing C code. They always produce the same result. **Old code** As requested by T96219, old nodes still exist but are not displayed in the add menu. This means Python scripts can still create them as usual. Otherwise, versioning replaces the old nodes with the new nodes when opening .blend files. Differential Revision: https://developer.blender.org/D14034
2022-04-28Fix: Missing translation in node socket inspectionHans Goudey
2022-04-28Fix: Socket inspection error for data-block socketsEthan-Hall
After rB47276b847017, for certain socket types such as object or material, the name of the item is not obtained correctly leading the tooltip to display random non-character memory values as text. Differential Revision: https://developer.blender.org/D14762
2022-04-28VSE: Add precise drag and drop and strip previewsSebastian Parborg
This patch adds the drag and drop strip previews in the VSE. It also adds two new functions to the drag and drop API. 1. "draw_in_view" for callbacks that wants to draw elements in local viewport coordinates 2. "on_drag_start" that can be used for prefetching data only once at the start of the drag. Reviewed By: Julian, Campbell Differential Revision: http://developer.blender.org/D14560
2022-04-25Nodes: show overlays in node editor even when nodes are collapsedJacques Lucke
2022-04-25Geometry Nodes: improve attribute dependency overlayJacques Lucke
* Adjust width based on node width, necessary to make the longer name below work. * Show "X Named Attributes" in the overlay. * Use "Accessed named attributes" in the tooltip. Differential Revision: https://developer.blender.org/D14751
2022-04-25Geometry Nodes: show timing overlay above attributes overlayJacques Lucke
2022-04-25Fix: use natural string sorting for attribute namesJacques Lucke
2022-04-24Cleanup: various minor changesCampbell Barton
- Add missing doxy-section for Apply Parent Inverse Operator - Use identity for None comparison in Python. - Remove newline from operator doc-strings. - Use '*' prefix multi-line C comment blocks. - Separate filenames from doc-strings. - Remove break after return.
2022-04-21Fix T97465: Moving compositor BG image cannot be cancelledPhilipp Oeser
This was possible with the gizmo, but no using the operator (e.g. from the sidebar). Now store original offsets and reset to these on calcel (ESC or RMB). Maniphest Tasks: T97465 Differential Revision: https://developer.blender.org/D14704
2022-04-20Cleanup: Rename CD_MLOOPCOL to CD_PROP_BYTE_COLORHans Goudey
The "PROP" in the name reflects its generic status, and removing "LOOP" makes sense because it is no longer associated with just mesh face corners. In general the goal is to remove extra semantic meaning from the custom data types.
2022-04-18Fix T97002: Preserve multi socket link orderLeon Schittek
Preserve multi socket link order when copying nodes or adding a new group input sockets by linking directly to multi inputs from the group input node's extension socket. This is done by also copying the `multi_input_socket_index` when the new links are created by copying existing or temporary links. Reviewed By: Hans Goudey Differential Revision: http://developer.blender.org/D14535
2022-04-15Cleanup: Clang tidyHans Goudey
2022-04-14Geometry Nodes: show used named attributes in nodesJacques Lucke
This adds a new node editor overlay that helps users to see where named attributes are used. This is important, because named attributes can have name collisions between independent node groups which can lead to hard to find issues. Differential Revision: https://developer.blender.org/D14618
2022-04-12UI: Add support for showing socket descriptions in tooltipsLukas Stockner
Currently, hovering over a socket itself shows no tooltip at all, while hovering over its value field shows "Default value", which is not helpful. This patch therefore implements socket tooltips following the proposal at https://blender.community/c/rightclickselect/2Qgbbc/. A lot of the basic functionality was already implemented for Geometry Nodes, where hovering over the socket itself shows introspection info. This patch extends this by: - Supporting dynamic tooltips on labels, which is important for good tooltip coverage in a socket's region of the node. - Adding a function to setting a dynamic tooltip for an entire uiLayout, which avoids needing to set it manually for a wide variety of socket types. - Hiding the property label field in a tooltip when dynamic tooltip is also provided. If really needed, this label can be restored through the dynamic tooltip, but in all current cases the label is actually pointless anyways since the dynamic tooltip gives more accurate and specific information. - Adding dynamic tooltips to a socket's UI layout row if it has a description configured, both in the Node Editor as well as in the Material Properties. Note that the patch does not add any actual tooltip content yet, just the infrastructure to show them. By default, sockets without a description still show the old "Default value" tooltip. For an example of how to add socket descriptions, check the Cylinder node in the Geometry Nodes. Differential Revision: https://developer.blender.org/D9967
2022-04-05WM: avoid unnecessary undo step creation when duplicatingPratik Borhade
Calling duplicate operation without selecting anything registers an undo step. If nothing is selected (keyframe, curve, object, etc.), cancel the operator execution to prevent undo push. Patch improves following operators: - ACTION_OT_duplicate - GPENCIL_OT_duplicate - GRAPH_OT_duplicate - MESH_OT_duplicate - NODE_OT_duplicate - OBJECT_OT_duplicate Reviewed By: campbellbarton Ref D14511
2022-04-05Cleanup: clang-formatCampbell Barton
Also add space below file references.
2022-04-04Cleanup: clang-tidyCampbell Barton
2022-04-01Cleanup: Move geometry set fields to a separate headerHans Goudey
This commit moves declarations that depend on `FN_field.hh` out of `BKE_geometry_set.hh` into `BKE_geometry_fields.hh`. This helps to reduce the number of areas that need to depend on the functions module, which recently came in in review of D11591. In the future we may have a library of standard field inputs in order to make composing algorithms easier, so it makes sense to have a header that could contain them and some basic related utilities relating the concepts of geometry and fields. Reducing use of unnecessary headers may also reduce compilation time. Differential Revision: https://developer.blender.org/D14517
2022-04-01Geometry Nodes: Add search to named attribute input nodeHans Goudey
This commit adds attribute search the the attribute input field node. Because it's a field node, finding which attribute to display without increasing the complexity a lot isn't obvious. In this commit, all attributes used by nodes in the current group are included. When an attribute is chosen from the list, the node's data type is updated, and links connected to the output socket are reconnected. Ref T96271 Differential Revision: https://developer.blender.org/D14516