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
path: root/source
AgeCommit message (Collapse)Author
2021-09-25Small progress towards outputting attributes from modifiertemp-geometry-nodes-output-attributesHans Goudey
2021-09-25Merge branch 'master' into nodes-attribute-toggle-only-fieldsHans Goudey
2021-09-24Geometry Nodes: Add versioning and legacy warning for random float nodeHans Goudey
2021-09-24Geometry Nodes: Random Value NodeJohnny Matthews
This node replaces the deprecated Attribute Randomize node, populating a vector, float, integer or boolean field with random values. Vector, float, and integer have min/max settings, which are also field aware. The boolean type has a probability value for controlling what portion of the output should be true. All four types have a field seed input which is implicitly driven by the index, otherwise, all values would be the same "random" value. The Random Float node is now deprecated like other nodes, since it is redundant with this node. Differential Revision: https://developer.blender.org/D12603
2021-09-24Assets: Read catalogs immediately when loading a libraryJulian Eisel
Until now, the asset catalogs would only show up after all assets from the library were loaded. Now the catalogs are read first, which makes them appear pretty much immediately. This makes the UI more responsive and feel less heavy. I added a dedicated file-list type for asset libraries now. While not necessarily needed, I prefer that so asset library specific stuff can be handled in there.
2021-09-24Geometry Nodes: String to Curves NodeErik Abrahamsson
This commit adds a node that generates a text paragraph as curve instances. The inputs on the node control the overall shape of the paragraph, and other nodes can be used to move the individual instances afterwards. To output more than one line, the "Special Characters" node can be used. The node outputs instances instead of real geometry so that it doesn't have to duplicate work for every character afterwards. This is much more efficient, because all of the curve evaluation and nodes like fill curve don't have to repeat the same calculation for every instance of the same character. In the future, the instances component will support attributes, and the node can output attribute fields like "Word Index" and "Line Index". Differential Revision: https://developer.blender.org/D11522
2021-09-24Geometry Nodes: Special string characters nodeErik Abrahamsson
This patch adds a new node called "Special Characters" with two string outputs: "Line Break" and "Tab". This is necessary because the newline character cannot be easily typed with a keyboard, but is necessary for the string to curve node. Differential Revision: https://developer.blender.org/D12620
2021-09-24Nodes: initial support for socket tooltipsJohnny Matthews
This adds initial limited support for socket tooltips. It's limited in a couple of ways for now: * Only works when hovering over the socket shape, not when hovering over the value in the socket. * Only works for built-in nodes that already use the new node declaration system. This can later be extended to support pynodes. Those limitations are well worth it for now, given that the implementation is quite simple and the impact on usability is quite large. More complex updates to the layout system, that would allow showing socket tooltips in the nodes, can be done later. With the current implementation we can at least start writing tooltips for geometry nodes now. This commit already adds tooltips for the Cylinder node as an example. Differential Revision: https://developer.blender.org/D12607
2021-09-24Nodes: hide socket value when input is a field implicitlyJacques Lucke
2021-09-24Fix: field evaluation crash when the domain size is zeroJacques Lucke
2021-09-24Cleanup: UUID, add some documenting commentsSybren A. Stüvel
No functional changes.
2021-09-24GPencil: Reorganize list of modifiersAntonio Vazquez
As we have a now a new `Modify` column, we move some modifers to this column.
2021-09-24GPencil: Change Proximity distance properties to distance typeAntonio Vazquez
This keep consistency with mesh modifer.
2021-09-24GPencil: Invert weight in Weight Proximity modifierAntonio Vazquez
In meshes modifer the Lowest is 0 and Highest is 1.0 and this was working inverted for grease pencil. Now, it works equals to meshes modifier. Also changed the tooltip to keep consistency with meshes modifier.
2021-09-24Geometry Nodes: make index field more reusableJacques Lucke
Some inputs will be the index field implicitly, so we want this class to be available outside of `node_geo_input_index.cc`.
2021-09-24Fix T91240: Object duplication was duplicating its action twice.Bastien Montagne
Weird that this was not reported before, this was creating a lot of extra actions everytime...
2021-09-24Asset Catalogs: write catalogs sorted by path & UUIDSybren A. Stüvel
When writing asset catalog definition files, order the catalogs by (path, UUID). This ensures that every write produces the same file, playing nice with versioning / synchronisation systems.
2021-09-24UUID: add less-than operatorSybren A. Stüvel
Add `operator<` to C++ class to allow lexicographic ordering of UUIDs. This will be necessary when writing asset catalogs to disk in a predictable (i.e. ordered) manner.
2021-09-24Codestyle: Add brackets around body of if statements.Jeroen Bakker
2021-09-24Nodes: make dot in socket shape circularJacques Lucke
Previously, it was a diamond shape when the overall shape was a diamond.
2021-09-24Fix T91192: Context.copy() crashes on file loadCampbell Barton
The `ui_list` lookup from 87c1c8112fa44ccb94a3e996b7499d6577d85d7f didn't account for the region being unset.
2021-09-24Cleanup: old-style-declaration warningCampbell Barton
2021-09-24Asset Catalogs: fix trailing slash test caseSybren A. Stüvel
The "path with trailing slash" test catalog was using the same path as another catalog, which meant it was ignored after doing the path cleanup. It's now different in the test file in SVN, so it'll actually show up in the test.
2021-09-24LibOverride: deprecate Proxies: Remove 'Make Proxy' operator.Bastien Montagne
2021-09-24LibOverride: Deprecate Proxies: Add auto-conversion on file load.Bastien Montagne
This commit also add an experimental userPreferences to prevent proxies conversions on file load, and reporting for amount of coverted proxies (and possible issues). Note that potentially linked proxies from other libraries are not hamdled here (this feature seems to be broken anyway in master currently?).
2021-09-24LibOverride: Add utils to convert all proxies to overrides.Bastien Montagne
2021-09-24Geometry Nodes: new Distribute Points on Faces nodeJacques Lucke
This adds a replacement for the deprecated Point Distribute node. Arguments for the name change can be found in T91155. Descriptions of the sockets are available in D12536. Thanks to Jarrett Johnson for the initial patch! Differential Revision: https://developer.blender.org/D12536
2021-09-24BLI: expose more noise hash functions in headerJacques Lucke
This is a follow up of the previous commit. These functions are useful for other areas of Blender as well.
2021-09-24BLI: make noise hash functions available in headerJacques Lucke
2021-09-24Fix: incorrect socket shape for noise texture inputJacques Lucke
2021-09-24Cleanup: clang formatPhilipp Oeser
2021-09-24Cleanup: asset catalogs, fix clang-tidy warningSybren A. Stüvel
Remove unnecessary call to `std::string::c_str()`. No functional changes.
2021-09-24Cleanup: clang-tidyJacques Lucke
2021-09-24FileBrowser: Reduce Overhead Browsing Libraries.Jeroen Bakker
When Browsing libraries the asset files were opened multiple times. once to determine the needed groups to query and once for each group to query the items in the group. For file browsing this makes sense but for asset browsing this can be reduced. This patch will load the asset files recursively and only opens them once. Another change is that only the assets are requested and not filtered out later in the process. This patch is needed to simplify the library indexing. Where we need access to the full library content. ## The numbers ## Benchmarked by adding scenes of the spring open movie to the default asset library. Refreshing the asset library would recursively load all the files there. | **8bc27c508a** | Processed 317 'directories/libraries' | 7.573986s | | **Patch** | Processed 42 'directories/libraries' | 0.821013s | {F10442811} Reviewed By: mont29, Severin Maniphest Tasks: T91406 Differential Revision: https://developer.blender.org/D12499
2021-09-24Hair Info Length AttributeJeroen Bakker
Goal is to add the length attribute to the Hair Info node, for better control over color gradients or similar along the hair. Reviewed By: #eevee_viewport, brecht Differential Revision: https://developer.blender.org/D10481
2021-09-24Fix T91661: Vector rotate output socket diconnects on file loadHans Goudey
An incorrect name was used in the socket declaration refactor.
2021-09-24Geometry Nodes: Only show attribute toggle for field inputs (WIP)Hans Goudey
With this patch, the toggle to change an input between an attribute and a value is not added or displayed for inputs that are fields, as determined by the socket field status inferrencing. Differential Revision: https://developer.blender.org/D12623
2021-09-24Fix: Incorrect field visualization for some shader nodesHans Goudey
These need to be tagged as function nodes in their declaration.
2021-09-24Cleanup: spelling in commentsCampbell Barton
2021-09-24Fix: Curve fill node doesn't fill real geometry with instancesHans Goudey
A misplaced return in the middle of the function made it so the node didn't fill real geometry.
2021-09-23Geometry Nodes: Initial socket visualization for fields.Jacques Lucke
This implements the update logic for the vizualization of which sockets pass data or constants directly, and which pass functions. The socket shapes may still have to be updated. That should be done separately, because it might be a bit more involved, because socket shapes are currently linked to keyframe shapes. Currently the circle and diamond shapes are used with the following meanings: - Input Sockets: - Circle: Required to be a single value. - Diamond: This input supports fields. - Output Sockets: - Circle: This output is a single value. - Diamond: This output may be a field. Connecting a field to a circle input socket is an error, since a field cannot be converted to a single value. If the socket shape is a diamond with a dot in the middle, it means it is currently a single value, but could be a field. In addition to socket shapes, the intention is to draw node links differently based on the field status. However, the exact method for conveying that isn't decided yet. Differential Revision: https://developer.blender.org/D12584
2021-09-23Fix build error caused by typoHans Goudey
2021-09-23Fix T91638: image editor Open Cached Render not loading some passesBrecht Van Lommel
Previously this was only loading built-in render passes. Now instead of trying to load the scene render passes, load whatever passes exist in the cache file.
2021-09-23Fix: Build issue with MSVCCharlie Jolly
header for std::function was not included reported/fixed by Charlie on chat
2021-09-23Paint: prevent RenderResults and Viewers where unappropriatePhilipp Oeser
Using a RenderResult (or a Viewer) was never really working (think you cant get a real ImBuff from these) -- cannot use it as a clone, stencil or canvas [Single Image paint texture slot]. In the case of using it as a 2D paint clone image this would also crash [due to the Image Editor drawing refactor in 2.91]. Now [in the spirit of T73182 / D11179], prevent using these where unappropriate by using rna pointer polling functions. Also add a security check for the 2D paint clone image crash in case a stencil ImBuff cannot be provided for some reason, but generally old files are now patched in do_versions_after_linking_300 (thx @brecht!). Fixes T91625. Maniphest Tasks: T91625 Differential Revision: https://developer.blender.org/D12609
2021-09-23Cleanup: Use const in previously committed functionJulian Eisel
2021-09-23UI: Tree-View API for easy creation of tree UIsJulian Eisel
This follows three main targets: * Make creation of new tree UIs easy. * Groundwork to generalize tree UIs (so e.g. Outliner, animation channels, asset catalogs and spreadsheet data-sets don't have to re-implement basic tree UI code) or even other data-view UIs. * Better separate data and UI state. E.g. with this, tree-item selection or the open/collapsed state can be stored on the UI level, rather than in data. (Asset Catalogs need this, storing UI state info in them is not an option.) In addition, the design should be well testable and could even be exposed to Python. Note that things will likely change in master still. E.g. the actually resulting UI isn't very nice visually yet. The design is documented here: https://wiki.blender.org/wiki/Source/Interface/Views Differential Revision: https://developer.blender.org/D12573
2021-09-23Fix D12533: Simplify curve object to mesh conversionHans Goudey
This patch simplifies the curve object to mesh conversion used by the object convert operator and exporters. The existing code had a convoluted model of ownership, and did quite a bit of unnecessary work. It also assumed that curve objects always evaluated to a mesh, which is not the case anymore. Now the code checks if the object it receives is evaluated. If so, it can simply return a copy of the evaluated mesh (or convert the evaluated curve wire edges to a mesh if there was no evaluated mesh). If the object isn't evaluated, it uses a temporary copy of the object with modifiers removed to create the mesh in the same way. This follows up on the recent changes to curve evaluation, namely that the result is always either a mesh or a wire curve. Differential Revision: https://developer.blender.org/D12533
2021-09-23bUUID: make it explicit the default constructor produces the nil valueSybren A. Stüvel
The implicit default constructor zeroes all plain data fields, and now this behaviour is explicit & tested for in a unit test.
2021-09-23Cleanup: UUID, fix clang-tidy warningsSybren A. Stüvel
Use explicit `uint32_t` instead of `uint`, add a missing end-of-namespace comment, and change `auto` to `const auto *`. No functional changes.