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
2021-09-17Geometry Nodes: Add a toggle to use attributes as input valuesHans Goudey
This adds a toggle to node group inputs exposed in the modifier to use an attribute instead of a single value. When the toggle is pressed, the button switches to a text button to choose an attribute name. Attribute search isn't implemented here yet. One confusing thing is that some values can't be driven by attributes at all, like the size of a primitive node. In that case, we should have a node warning, but that will be separate since it's more general. We can also have an option to turn off this toggle in node group input settings. The two new properties for each input are stored with the same name as the value, but with `"_use_attribute"` and `"_attribute_name"`` suffixes. The properties are not added for socket types that don't support attribute input, like object sockets. Differential Revision: https://developer.blender.org/D12504
2021-09-17UI: Automatic Blend Thumbnail SelectionHarley Acheson
Adds an "Auto" option to blend thumbnail types that will automatically use Screenshot if there is no camera and 3dview, or workbench render with shading settings from the largest 3dview. See D12407 for more details. Differential Revision: https://developer.blender.org/D12407 Reviewed by Campbell Barton
2021-09-17Cleanup: Pass const mesh argumentHans Goudey
Also remove unnecessary parantheses.
2021-09-16Cleanup: Move mesh_convert.c to C++Hans Goudey
This should allow easier changes when it's helpful to use C++ types. The diff is for a test on the buildbot. Differential Revision: https://developer.blender.org/D12528
2021-09-16UI: Remove Menus & Show Wait Cursor When SavingHarley Acheson
When saving blend files close any menus that might be open, show "waiting" mouse cursor right away, before creating preview. See D12507 for more details. Differential Revision: https://developer.blender.org/D12507 Reviewed by Campbell Barton
2021-09-16Cleanup: Remove unnecessary manual of move constructorHans Goudey
Turns out this isn't actually necessary.
2021-09-16Geometry Nodes: Transfer attributes in the curve to mesh nodeHans Goudey
This patch allows point and spline attributes to be transferred to the mesh generated by the curve to mesh node. All dynamic named and anonymous attributes are transferred. So a user-created attribute will be transferred, but "radius", "tilt" or the handle position attributes won't be transferred by default and will need to be copied first. This trade-off is made for performance, since most of the time, users won't need these attributes copied. Generally, attributes are transferred to the point/vertex domain. However, if they have the same name as a built-in mesh attribute that only exists on a different domain, like "shade_smooth", then they can be transferred directly to that domain as well. Conversion directly to the face corner domain is not necessary because there are no builtin face corner attributes. I see this conversion directly to other domains as an optimization we could use behind the scenes in the future as well, when named attributes are less common. For performance, I haven't tested which of the following is better: ``` for each spline combination: for each attribute: for each attribute: for each spline combination: ``` For now I used the existing loop to avoid more threading overhead. Differential Revision: https://developer.blender.org/D12363
2021-09-16Geometry Nodes: Simplify using OutputAttribute in a vectorHans Goudey
Store the optional temporary span storage as a unique_ptr and move it in the move constructor, to avoid the need to add a special move constructor that clears the "show_warning" fields from it. Maybe this is very slightly slower, but we'll need this class less often in the future anyway.
2021-09-16Cleanup: Add built-in check for an attribute IDHans Goudey
2021-09-16Assets: Recursive reading of asset librariesJulian Eisel
With this, asset libraries can be directory structures and all assets in sub-directories will show up in an Asset Browser. With complex directory structures and many .blend files inside, asset library reading will be quite slow for now. There's initial work being done to introduce indexing for this (T82979), other optimizations are being discussed as well. Addresses T91406. Differential Revision: https://developer.blender.org/D12139
2021-09-16Hide empty keymap warnings when running a templateDalai Felinto
2021-09-16App Settings: Edge ResizeDalai Felinto
This prevents both editor resize as well as regions (e.g., the toolbar). Note: This option is not visible in the UI. Differential Revision: D12516
2021-09-16App Settings: Regions Visbility ToggleDalai Felinto
The toggle that allow users to "show" the region (header, toolbar, ...) when it is collapsed can now be configured for the apps. Note: This option is not visibile in the UI. Differential Revision: D12516
2021-09-16Rename show_layout_ui > show_corner_split and remove from UIDalai Felinto
This breaks API compatibility. However we are now grouping this setting in the proper section (preferences.apps), so scripts had to update anyways. So they may as well do it for the final name. The reason to remove from the UI is that this is intended for app setup, and as such it should not be exposed to final users until we have apps better presented (for 3.1 hopefully). Differential Revision: D12516
2021-09-16Cleanup: Rename USER_APP_LOCK_UI_LAYOUTDalai Felinto
There will be other settings that lock other aspects of the UI layout (e.g., resizing of editors). So better to name this setting what it actually handles (the corners). New name: USER_APP_LOCK_CORNER_SPLIT Differential Revision: D12516
2021-09-16Cleanup: WM append code: de-duplicate post-make-local process a bit.Bastien Montagne
2021-09-16Fix: properly implement the 'only append' execption case for WorkSpaces.Bastien Montagne
Add needed extra flag and utils to IDType to mark and check an ID type as only appendable. Note that this is only a loose user-level enforcement currently, in any case you need to be able to link an ID to append it currently, so for low-level code this does not really matter. Currently only WorkSpace and Screen ID types are marked with the new `IDTYPE_FLAGS_ONLY_APPEND` flag.
2021-09-16Cleanup/Fix outliner 'make local' code.Bastien Montagne
While likely harmless, this code was doing extremely bad thing, by-passing the whole lower-level `BKE_lib_id_make_local` call in case it would fail and deciding by itself to forcefully make the given ID local. Bad. Very, very, very bad.
2021-09-16Cleanup: no need to clear new flags and pointers from whole Main when making ↵Bastien Montagne
a single ID local.
2021-09-16Cleanup: Comment about shpaekey being treated as embedded IDs in ↵Bastien Montagne
`BKE_id_newptr_and_tag_clear`.
2021-09-16Cleanup: Add comment about 'make_local' callback of Brush doing bad thing.Bastien Montagne
Callbacks in IDTypeInfo should never affect other IDs if they are not embedded. We break this rule in some cases, at least each of those should be clearly commented about and get some security checks to try to avoid unexpected issues as much as possible.
2021-09-16Cleanup: Rename `BKE_id_clear_newpoin` to `BKE_id_newptr_and_tag_clear`.Bastien Montagne
2021-09-16Fix/refactor `BKE_id_clear_newpoin` and `BKE_main_id_newptr_and_tag_clear`.Bastien Montagne
Those were not clearing embdeed IDs flags and `newid` pointers at all...
2021-09-16IDManagement: refactor: Remove 'test' part from `BKE_lib_id_make_local`.Bastien Montagne
Mixing testing and actual action in a single function is just not a good way to do things, and the 'testing' feature is not used anywhere anymore, time to get rid of it.
2021-09-16IDType: Add `BKE_idtype_idcode_is_localizable`.Bastien Montagne
This is the same as `BKE_idtype_idcode_is_linkable` currently, used only in one place in UI code of IDtemplate.
2021-09-16IDType: Cleanup: Remove useless `IDTYPE_FLAGS_NO_MAKELOCAL`.Bastien Montagne
This flag became a full duplicate of `IDTYPE_FLAGS_NO_LIBLINKING`, which is a good thing (don't think we ever want to be able to link some data, without being able to make it local...). So we can now remove it and use `IDTYPE_FLAGS_NO_LIBLINKING` instead.
2021-09-16Fix ID-property UI versioning skipping nested meta-stripsCampbell Barton
2021-09-16Fix security popup re-displaying after undoCampbell Barton
Don't reset these flags when loading a file (or undoing) rely on BPY_python_reset to reset the flags.
2021-09-16Fix memory leak if an error occurred assigning id-property sequenceCampbell Barton
2021-09-16Fix bisect gizmo offset while draggingCampbell Barton
2021-09-16GPencil: Fix dash modifier reading error.YimingWu
The reference for parent modifier in segment data is not assigned. Now fixed.
2021-09-15Cleanup: Use function to mark mesh normals dirtyHans Goudey
2021-09-15Cleanup: Remove duplicate warning from subdivision surface nodeHans Goudey
2021-09-15Geometry Nodes: Hide values for selection inputsHans Goudey
Toggling the selection off in the node is the same as muting it, so exposing it there doesn't help, and makes it less clear that it's meant to be used as a field.
2021-09-15Fix: Division by zero in curve spiral primitive nodeHans Goudey
2021-09-15Splines: Add a method for reversing a SplineJohnny Matthews
This moved the spline reversing logic out of the Curve Reverse geometry node and into the spline class. This allows a spline to reverse itself with a call to `my_spline.reverse()` The base class will reverse position, radii & tilt, while specialized versions are created for Bezier and Nurbs splines to reverse the additional data that these classes encapsulate. Differential Revision: https://developer.blender.org/D12501
2021-09-15Fix broken WorkSpace use after recent refactor of append code.Bastien Montagne
Essentially, Workspace (and Screen) types were defined as not localizable. In previous code it happended to work by mere chance (code path taken in `BKE_library_make_local` was conviniently skipping the call to `BKE_lib_id_make_local` in that case, hence not checking for `IDTYPE_FLAGS_NO_MAKELOCAL` flag of the localized ID type). This is a total abuse of this IDType flag, for now removing it. That specific case (IDtype appendable but nor linkable) requires its own proper flag, this will be tackled in a later commit. Issue introduced in rB3be5ce4aad5e.
2021-09-15Fix missing passes result when rendering multiple viewsSergey Sharybin
Caused by the lazily pass pixels allocation which didn't reset allocation state of the render result. Demo file: XXX
2021-09-15Fix crash in 'drag asset' case in new append code from yesterday.Bastien Montagne
Scene and related pointer parameter can be NULL in link/append code, in which case there is no instantiation of new objects/collections/obdata. Link code in blendloader was already checking that, new instantiation code in WM area from yesterday did not. Issue introduced by rB3be5ce4aad5e.
2021-09-15BLI: Add a reverse method to MutableSpanJohnny Matthews
Add a method that allows a MutableSpan to reverse itself. This reverses the data in the original span object. This is a first step in extracting some functionality from nodes and making it more general. Differential Revision: https://developer.blender.org/D12485
2021-09-15Geometry Nodes: Add fields version of material nodesHans Goudey
This commit moves the old material nodes to a "legacy" folder and adds versions of the nodes that work with fields. The "Select by Material" node is a field node now, so it doesn't have a geometry output. This is an improvement because there are fewer links to connect, and it's more easily usable in different situations. It's also called "Material Selection", since it's more of an input than an action now. It's sometimes necessary to use the attribute capture node to get a more predictable interpolation to mesh faces. This is because the selection field input is always evaluated on the face domain, so attribute inputs are interpolated before they are booleans, so they cannot use the new interpolations from rB5841f8656d9580d7b9. Differential Revision: https://developer.blender.org/D12456
2021-09-15Geometry Nodes: Add special domain interpolation for selectionsHans Goudey
The generic domain interpolation algorithms didn't quite work for selections. The interpolation would do unexpected things that were different than the results in edit mode. The new behavior is supposed to be the same as edit mode, although we also have to handle face corner selections here. Currently the code assumes that all boolean attributes should be handled that way. I'm not sure of why that wouldn't be the case, but if we ever need non-selection boolean attributes, that could be supported too. Differential Revision: https://developer.blender.org/D12488
2021-09-15Cleanup: avoid passing redundant parameterJacques Lucke
2021-09-15Nodes: refactor socket declarationsJacques Lucke
This commits adds a few common flags to `SocketDeclaration` so that they are available for all socket types (hide label, hide value, is multi input). This allows porting over the remaining geometry nodes to the new declaration system. Furthermore, this commit separates the concepts of the socket declaration and corresponding builders. The builders are used by nodes to declare which sockets they have (e.g. `FloatBuilder`). The ready build socket declarations can then be consumed by other systems such as the versioning code. Both use cases need different APIs and those will change for independent reasons, so it makes sense to separate the classes.
2021-09-15Gizmo: add flag to hide the gizmo group during interactionCampbell Barton
This allows a hack to be removed that temporarily overwrote the 3D views gizmo display flag. Also reverse change from fb27a9bb983ce74b8d8f5f871cf0706dd1e25051 that runs poll on modal gizmo groups as there is some risk that the poll function unlinks the gizmo.
2021-09-15Cleanup: unused variableCampbell Barton
2021-09-15Fix T91421: Length modifier bake influence check.YimingWu
Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12496
2021-09-15Geometry Nodes: multi threaded field evaluationJacques Lucke
This adds a new `ParallelMultiFunction` which wraps another multi-function and evaluates it with multiple threads. The speeds up field evaluation quite a bit (the effect is most noticeable when the number of evaluations and the field is large). There are still other single-threaded performance bottlenecks in field evaluation that will need to be solved separately. Most notably here is the process of copying the computed data into the position attribute in the Set Position node. Differential Revision: https://developer.blender.org/D12457
2021-09-15Gizmo: show groups flagged with SHOW_MODAL_ALL during interactionCampbell Barton
Follow up to fix for T73684, which allowed some modal gizmos to hide all others. Also resolve an issue from 917a972b56af103aee406dfffe1f42745b5ad360 where shear the shear gizmo would be visible during interaction. Internally there are some changes to gizmo behavior - The gizmo with modal interaction wont draw if it's poll function fails. - The WM_GIZMOGROUPTYPE_DRAW_MODAL_ALL flag now causes these gizmo groups to draw when another group is being interacted with.
2021-09-15Cleanup: replace defines with functionsCampbell Barton