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-04-26Address points from reviewtemp-outliner-library-override-hierarchyJulian Eisel
2022-04-26Merge branch 'master' into temp-outliner-library-override-hierarchyJulian Eisel
2022-04-26deps_builder/robinmap: remove file copy on windowsRay Molenkamp
- It's not needed, since it's a build time dependency only. - It was setup to copy to the wrong folder.
2022-04-26build_deps.cmd: prevent over-subscription of the cpu.Ray Molenkamp
/maxcpucount:1 and /m are the same option with the latter one using all cores available, leading to the situation where msbuild would start N side by side project builds that all tried to use N cores as well. leading to severe memory and compute starvation during the deps build.
2022-04-26Fix: some multi-functions are executed more than onceJacques Lucke
The good thing is that this fix also makes function evaluation a bit faster.
2022-04-26Geometry Nodes: Move named attribute nodes out of experimentalHans Goudey
Remove the experimental option for named attributes nodes show they are always available. Ref T91742
2022-04-26Geometry Nodes: refactor array devirtualizationJacques Lucke
Goals: * Better high level control over where devirtualization occurs. There is always a trade-off between performance and compile-time/binary-size. * Simplify using array devirtualization. * Better performance for cases where devirtualization wasn't used before. Many geometry nodes accept fields as inputs. Internally, that means that the execution functions have to accept so called "virtual arrays" as inputs. Those can be e.g. actual arrays, just single values, or lazily computed arrays. Due to these different possible virtual arrays implementations, access to individual elements is slower than it would be if everything was just a normal array (access does through a virtual function call). For more complex execution functions, this overhead does not matter, but for small functions (like a simple addition) it very much does. The virtual function call also prevents the compiler from doing some optimizations (e.g. loop unrolling and inserting simd instructions). The solution is to "devirtualize" the virtual arrays for small functions where the overhead is measurable. Essentially, the function is generated many times with different array types as input. Then there is a run-time dispatch that calls the best implementation. We have been doing devirtualization in e.g. math nodes for a long time already. This patch just generalizes the concept and makes it easier to control. It also makes it easier to investigate the different trade-offs when it comes to devirtualization. Nodes that we've optimized using devirtualization before didn't get a speedup. However, a couple of nodes are using devirtualization now, that didn't before. Those got a 2-4x speedup in common cases. * Map Range * Random Value * Switch * Combine XYZ Differential Revision: https://developer.blender.org/D14628
2022-04-26Geometry Nodes: rename used attributes panelJacques Lucke
The new name is `Internal Dependencies`. * Is more inline with the general goal of the panel. * Can also show which external objects are used in the node tree in the future. This name was choosen in the geometry nodes submodule meeting (2022-04-25). Differential Revision: https://developer.blender.org/D14752
2022-04-26BLI: small optimization to retrieving CPPType from static typeJacques Lucke
2022-04-26Geometry Nodes: Avoid parallel_for_each with a single geometryHans Goudey
The large call stack can be slightly annoying, and it's possible that invoking TBB in this case corresponds to some overhead like e1309030603980c6b.
2022-04-26Merge branch 'master' into temp-outliner-library-override-hierarchyJulian Eisel
2022-04-26Utils: Add macro for C++ default arguments in C headersJulian Eisel
This macro allows defining a default argument for when the translation unit is compiled in C++. Otherwise (in C), the argument has to be passed explicitly. A couple of benefits: * Default arguments are a nice quality-of-life feature in C++. It's annoying if these can't be used in C++ files, just because the header with the function declaration still needs to be C compatible. * Adds useful information to the API declaration. E.g. that an argument can be nullptr. * Should help us to move to using default arguments more, helping readability (arguably) Used in D14653. Reviewed By: LazyDodo Differential Revision: https://developer.blender.org/D14654
2022-04-26Curves: Support applying geometry nodes modifierHans Goudey
This commit adds support for the curves object to the apply modifier operator. A warning is added when the evaluated result of the modifier doesn't contain any curves data. Differential Revision: https://developer.blender.org/D14730
2022-04-26Cleanup: Move anonymous attribute removal to geometry componentHans Goudey
Implementing removal of anonymous attributes with `GeometryComponent` instead of `Mesh` makes it more reusable for other types like curves.
2022-04-26Curves: add "Curves" to brush namesJacques Lucke
Differential Revision: https://developer.blender.org/D14748
2022-04-26Animation: Sensible frame range for motion pathsColin Marmond
Motion paths can now be initialised to more sensible frame ranges, rather than simply 1-250: - Scene Frame Range - Selected Keyframes - All Keyframes Reviewed By: sybren, looch, dfelinto, pablico Maniphest Tasks: T93047 Differential Revision: https://developer.blender.org/D13687
2022-04-26WM: disable redraw timer in background modeCampbell Barton
Crashing in background mode was reported as part of T78854, disable via the poll function to give a useful error in background mode.
2022-04-26Fix memory leak in Context.temp_overrideCampbell Barton
Add missing check as the context override dict may have been copied since it was assigned, also initialize the context manager with PyType_Ready, while it didn't cause any errors - it's expected that all types are initialized.
2022-04-26Cleanup: line length for Python scriptsCampbell Barton
2022-04-26Cleanup: autopep8Campbell Barton
2022-04-26pyproject: enable aggressive, ignore E501 (line wrapping)Campbell Barton
Aggressive needs to be enabled for many useful edits to take effect, the ignore list is currently used to disable edits that may need further checks/investigation before they're enabled. Note that aggressive was already enabled for the: source/tools/utils/autopep8_clean.py script which was previously used when applying autopep8.
2022-04-26Correct over allocation in "Fix Vertex Group Deform" operatorCampbell Barton
The pointer size was incorrectly being used instead of the float size.
2022-04-26Cleanup: use boolean arguments and return valuesCampbell Barton
2022-04-26Cleanup: replace in-line swapping with SWAP macroCampbell Barton
Also use bool array for true/false values.
2022-04-26Cleanup: remove NULL check and outdated commentCampbell Barton
2022-04-26Cleanup: names in text functionsCampbell Barton
- Use filepath instead of file. - Use relbase instead of relpath. In both cases the new names are used more frequently throughout exiting functions.
2022-04-26PyAPI: support persistent handlers for class & static methodsCampbell Barton
Support methods being used as persistent callbacks. Resolves T97555.
2022-04-26Fix bone "auto-name by axis" failure to clip long namesCampbell Barton
Failure to clip automatic-names meant named could end with a "." for e.g. Error in [0] meant the clipped text was copied then immediately overwritten. [0]: 354e6b9c189bb6cea57577ba3a8e7fb7ca28a796
2022-04-26Fix string escaping in override versioning and modifier renamingCampbell Barton
2022-04-26Cleanup: unused return value warningCampbell Barton
2022-04-26Cleanup: simplify text copying string operationsCampbell Barton
- De-duplicate txt_new_linen & txt_new_line. - Don't accept NULL as input for txt_new_linen & txt_new_line (callers can pass in an empty string instead). - Avoid duplicate strlen calls in txt_new_linen. - Use memcpy when the length of the string is known in txt_delete_sel & BKE_text_load_ex.
2022-04-26Fix: Correctly copy and update curve type counts cacheHans Goudey
Missing from f431be224fa583743.
2022-04-26Fix T97595: Modifier attribute output broken for vertex groupsHans Goudey
`attribute_try_create` didn't understand that the vertex group attribute already existed because it only looks for names in custom data layers when the domain matches. Using `attribute_exists` unfortunately requires another loop through all attribute names, but that should be optimized separately in the future anyway. Differential Revision: https://developer.blender.org/D14756
2022-04-26Cleanup: Remove redundant vertex normal dirty tagsHans Goudey
Applying the coordinates already tags the normals dirty
2022-04-25Vertex Paint: Fix brush color spaceJoseph Eagar
The brush color wasn't being converted to scene linear space properly.
2022-04-25Cleanup: remove unused function parameterJoseph Eagar
2022-04-25Fix T81452: Incorrect trim lasso radiusJoseph Eagar
Added a fallback path to compute the cursor radius for when the stroke starts over a blank area of space (in which case SCULPT_cursor_geometry_update fails).
2022-04-25Mesh: Make vertex normal property read-onlyHans Goudey
This commit makes the `MeshVertex.normal` property read-only. In practice it already was, since the value could be overwritten at any time if code requests updated normals, so this just clarifies that position and avoids misleading users. Differential Revision: https://developer.blender.org/D14696
2022-04-25Fix: Incorrect implicit enum conversionHans Goudey
Hardcode Catmull Rom curves for now, since nothing else is implemented.
2022-04-25Geometry Nodes: Add "Named" to "Remove Attribute" node nameHans Goudey
The goal is to be consistent with the other two nodes that deal with named attributes. Ref T97512
2022-04-25Fix T97597: vertex paint initialization wasJoseph Eagar
called by weight paint mode, causing a crash
2022-04-25Fix T97553: SCULPT_handles_colors_report called for non-sculpt brushesJoseph Eagar
2022-04-25Sculpt: Remove hardcoded setting ofJoseph Eagar
auto-iteration property in mask filter Note: Auto-iteration is still set manually for increase/decrease contrast. These should probably become their own operators.
2022-04-25Fix T97423: Make mask filter less confusingJoseph Eagar
by showing redo panel. The A hotkey has "auto iteration" enabled by default, which calculates the number of times to run the filter using a heuristic based on vertex count. To make clear to the user what is going on the redo panel is now shown for the mask filter operator. NOTE: I discovered the source of the bug where sculpt operators' redo panels were greyed out. The name fed to SCULPT_undo_push_begin must match the operator name. I've added a comment in sculpt_intern explaining this.
2022-04-25Curves: Cache the number of curves of each typeHans Goudey
Remembering the number of curves of every type makes it fast to know whether processing specific to a single curve type has to be done. This information was accessed in quite a few places, so this should be an overall reduction in overhead for the new curves type. The cache is computed eagerly, in other words every time after changing the curve types. In order to reduce verbosity I added helper functions for some common ways to set the types. Differential Revision: https://developer.blender.org/D14732
2022-04-25Cleanup: Use const for smoot scrolling functionJulian Eisel
2022-04-25Transform Snap Refactor: dedicate ghash to different SnapData typesGermano Cavalcante
Changes: - Remove `BLI_memarena` (Use `MEM_cnew` and `MEM_delete` to allocate cached data) - Implement `snap_object_data_mesh_free_ensure` and `snap_object_data_editmesh_free_ensure` and skip need to get original key Object for editmesh data - Use `BMEditMesh` as key for editmesh `Ghash` - Make a better distinction between `SnapObjectData`s. (`SnapData_Mesh` and `SnapData_EditMesh`)
2022-04-25Cleanup: Turn some 'eTFlag' into macrosGermano Cavalcante
Some of the enum values are a mixture of others and make it difficult for the IDE to identify them. Separating these values makes debugging easier.
2022-04-25Fix T97401: Snap options ignored for Nurbs surfacesGermano Cavalcante
The editing data of a `SURF`s is similar to that of Curves and should be supported for snapping. But unlike Curve objects, for snapping, only support the nurb points if the object is in edit mode. This matches the solution for Meshes and avoids having to create a kind of "boundbox" for the SURF nurb points.
2022-04-25Nodes: show overlays in node editor even when nodes are collapsedJacques Lucke