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-11-04Fix T102218: Baked f-curves display incorrectly when normalizedColin Basnett
This fixes T102218, where baked f-curves would display incorrectly when normalized. This bug was a result of the code making no effort to determine the y-range of baked f-curves, so it fell back to a default that looked horrible. I've added specific handling for finding the y-range of each f-curve (I extracted this functionality out to a new function, `fcurve_scene_coord_range_get`, for organization purposes). In addition, a minor optimization was made to eliminate redundant range-checks when in preview range mode. {F13838304} Reviewed By: sybren Maniphest Tasks: T102218 Differential Revision: https://developer.blender.org/D16363
2022-11-04Fix missing call to AttributeWriter::finish with paint vertex selectionCampbell Barton
2022-11-04Cleanup: quiet unused argument warningCampbell Barton
2022-11-04Fix T101686: WPaint + Pose select fails with GPU depth-picking disabledCampbell Barton
Regression in [0], however the primary purpose of that code was to cycle away from the active object (behavior which was intentionally removed, see: T96752). This broke weight-paint + pose-selection (Ctrl-LMB) when the GPU depth picking preference was disabled. Causing selection to pick the mesh object instead of the pose bones. This de-selected the armature, making the pose bones unselectable instead of selecting the pose bone as intended. Adding the old code back (restricting it to weight-paint mode) fixes the bug but reintroduces fairly involved logic unnecessarily. Instead, prioritize bone selecting when in weight-paint & pose mode (previously this was only done in pose-mode). [0]: b1908f2e0b23988627772f6a6d968d8351dca6d7
2022-11-03DRW: PointCloud: Fix memset writting non-trivial type std::mutexClément Foucault
This issue might have produced crashes in some cases similar to rBafd30e5e3a77.
2022-11-03Cleanup: DRW: Fix unused parameters warningClément Foucault
2022-11-03DRW: Command: Fix custom group test being always trueClément Foucault
2022-11-03make float value explicitNate Rupsis
2022-11-03adding defaults for NLA Action scale and repeatNate Rupsis
Differential Revision: https://developer.blender.org/D16379
2022-11-03Fix T102221: Entering editmode invalidates the driver associated with that meshSergey Sharybin
The regression is caused by D13824 0f89bcdbebf5. This fix follows the code from Sybren (D7785) to make object-mode drivers from shapekey value to work. This intuitively makes sense since the D13824 made the edit mode evaluation and ownership follow the object mode more closely. Differential Revision: https://developer.blender.org/D16380
2022-11-03Blender 3.4 - BetaThomas Dinges
* BLENDER_VERSION_CYCLE set to beta * Update pipeline_config.yaml to point to 3.2 branches and svn tags * Update and uncomment BLENDER_VERSION in download.cmake
2022-11-03BLI_path: skip "/./" and "/." in BLI_path_name_at_indexCampbell Barton
This avoids having to run BLI_path_normalize before calling BLI_path_name_at_index.
2022-11-03Cleanup: replace BLI_join_path with BLI_join_stringCampbell Barton
There is no need to use path joining logic here.
2022-11-03BLI_string: C++ support for string joining macrosCampbell Barton
C++ doesn't support taking the temporary address of a temporary array, use inline functions instead. Also change array joining functions to return the length of the string instead of returning the pointer (matching BLI_path_join).
2022-11-03UI: Bevel: Specify the width type as "Width Type" in the status bar.Aaron Carlisle
Part of T102224
2022-11-03Cleanup: cmake comment line lengthCampbell Barton
2022-11-03Mesh: Parallelize remesh reprojectionsErik Abrahamsson
In high poly meshes the reprojections after remesh can become slow. This parallelizes reprojection of face sets, paint mask and vertex paint. It also adds flags to disable dependency graph updates on setting remesh options to remove UI lag. Profiling of remeshing a 3.4M poly mesh (in sculpt mode): Before: 19.6s After: 8.7s Differential Revision: https://developer.blender.org/D15638
2022-11-02Fix empty menu title in some menus (e.g. Text Editor context menu)Julian Eisel
2022-11-02Fix arrow key menu navigation using wrong directionJulian Eisel
Steps to reproduce were: * Right click in 3D View (context menu) press up or down arrow. Or: * Ctrl+Shift+O (Open Recent menu) press up or down arrow.
2022-11-02Fix memory leak with Freestyle renders after recent changesBrecht Van Lommel
Render stored a shallow copy of the scene view layers and views for thread safety, without proper functions to free it. But with the CoW depsgraph this scene is already a copy of the original and an additional copy is not needed. Refactor to use the scene view layers and some other settings directly instead of making a copy.
2022-11-02Refactor: Rename Object->imat to Object->world_to_objectSergey Sharybin
The goal is to improve clarity and readability, without introducing big design changes. Follows the recent obmat to object_to_world refactor: the similar naming is used, and it is a run-time only rename, meaning, there is no affect on .blend files. This patch does not touch the redundant inversions. Those can be removed in almost (if not all) cases, but it would be the best to do it as a separate change. Differential Revision: https://developer.blender.org/D16367
2022-11-02Fix: Crash adding rest positions to empty meshHans Goudey
The position attribute might not exist when the mesh is empty, which may be another problem, but there is no need to count on it here.
2022-11-02Realtime Compositor: Move shaders to compositor moduleOmar Emara
This patch moves the GLSL shaders and their infos to the compositor module as decided by the EEVEE & Viewport module. This is a non functional change. Differential Revision: https://developer.blender.org/D16360 Reviewed By: Clement Foucault
2022-11-02Realtime Compositor: Make vectors four dimensionalOmar Emara
Currently, the realtime compositor treat vector types as 3D vectors, which is true for most operations. However, some operations deal with vector types as 4D vectors that encode two 2D vectors or one 3D vector with the last component ignored. So this patch expands vector types to include a fourth component that is only sometimes used. Since we already stored vectors in RGBA textures, the necessary changes are straightforward and are mostly concerned with adjusting the Result class. Differential Revision: https://developer.blender.org/D16359 Reviewed By: Clement Foucault
2022-11-02Nodes: Reuse input sockets when creating new node groupsCsaba Boncsér
**Problem** Currently multiple input sockets are created when a new node group is made from selected nodes. Some of these are linked from the same source. It is not convenient to sort out and remove multiple input sockets that represent the same input. These inputs usually have meaningless names like 'value', 'x', etc. **Solution** Create common input sockets for each link starting from the same input. Move links inside the new group's node tree and reroute it to connect the common input socket to the original nodes. This is done by building up a mapping between the incoming link sources to the input interfaces created for them. The input interfaces are reused by the rest of the links having the same source. This patch also changes the way the input sockets get their names. Output socket names of the group nodes usually are specific and are given consciously. Use the output socket names from group nodes instead of the inputs where the links point to. Differential Revision: https://developer.blender.org/D15802
2022-11-02Geometry Nodes: Add index and value inputs to sample curve nodeHans Goudey
As described in T92474 and T91650, this patch adds two features to the sample curve node. First is an index input, to allow choosing the curve to sample for each point. Second is a custom field input, which is evaluated on the control points of the curve and then sampled like the other outputs. There is an "All Curves" option for the old behavior which takes the length of all curves into account. For invalid curve indices, the node outputs zeros (default values). Invalid lengths and factors are clamped. There have been various discussions about splitting the node up more, but this is an intuitive combination of options and will work well enough for current use cases. The node could still be generalized more in the future. Keep in mind that the source field is evaluated on curve control points, not the evaluated points used for sampling. This is necessary so that fields like "Index" work as expected. Differential Revision: https://developer.blender.org/D16147
2022-11-02Fix use-after-free in asset library storage destructionJulian Eisel
Would only appear when more than 4 asset libraries were loaded, because small buffer optimization would hide the issue.
2022-11-02Fix BLI_path_parent_dir returning success with a single period as inputCampbell Barton
While relatively harmless, BLI_path_parent_dir wasn't returning failure when passed in "./" which wouldn't succeed. Instead of adding a ".." and normalizing, normalize the path and remove the last directly. This is simpler than inspecting the resulting path to see if normalize removed it or not. Add additional tests which failed previously.
2022-11-02Tests: enable path tests for WIN32Campbell Barton
Tests for BLI_path_normalize, BLI_path_parent_dir & BLI_path_rel were disabled on WIN32 because of complications with slash direction. Enable these tests using character replacement to manipulate test data.
2022-11-02Cleanup: use doxy sections for path testsCampbell Barton
2022-11-02Fix T102201: File selector shows "\" before folder names on WIN32Campbell Barton
Regression in [0] on WIN32 caused joining paths {"//", "path"} to result in "//\path". This made the file selector show paths with a "\" prefix. Add an exception for WIN32 where an initial path of forward slashes is joined without a back-slash. [0]: 8f7ab1bf46d5e8610b167180b7631ff62e718a08
2022-11-02Cleanup: formatCampbell Barton
2022-11-02Cleanup: spelling in commentsCampbell Barton
2022-11-01Fix BLI_path_parent_dir failing on paths ending with ".."Campbell Barton
The check for BLI_path_normalize having succeeded only checked for a trailing "../" which isn't correct. This caused going up a directory in the file selector to do nothing on directories ending with "..". This also caused an empty path to expand into "../" because BLI_path_extension_check didn't account for this case. Resolve using BLI_path_name_at_index which extracts the last component of the path without having to match the the surrounding slashes.
2022-11-01Fix BLI_path_normalize failing with "." and ".." in the pathCampbell Barton
The logic to go up a directory (using "..") ran before stripping "/./" from the path. This caused "/a/b/./../" to result in "/a/b/" instead of "/a/". Now redundant characters are removed before before checking for ".." in paths. Include test to ensure this works as expected.
2022-11-01Tests: add BLI_path_parent_dir tests, split BLI_path_normalize testsCampbell Barton
Also enable a test that was disabled with a fix FIXME comment but works.
2022-11-01UI/Nodes: Update node add menu as assets get loadedJulian Eisel
Adds a listener to the node add menu so that it refreshes as assets get loaded asynchronously. Followup to cf985180551d, also see 99e5024e97f1 and the previous commit.
2022-11-01UI: Support C defined menu types to listen to notifiersJulian Eisel
Needed to dynamically load assets as menu items, see cf985180551d and 99e5024e97f1. The next commit will add the listener for the node add menu.
2022-11-01USD IO: replace deprecated primvars API.Michael Kowalski
Updated the code to use the UsdGeomPrimvarsAPI class to read and write mesh primvars instead of the now deprecated primvars accessors in UsdGeomImageable. This will be required to build with USD 22.11 in the future, where the deprecated functions have been removed.
2022-11-01UI: Support refreshing menu popupsJulian Eisel
This allows us to asynchronously load items into the menu, see cf985180551d. All menus spawned from Python using the `wm.call_menu` operator will be affected by this. We could avoid that and only refresh the menu we need to, but it's worth trying to get this to work as a general menu feature. This is a slightly risky change, so keeping an eye open for bugs.
2022-11-01Nodes: Add node group assets in add menuHans Goudey
This patch builds on the work from bdb57541475f to add node group assets directly in the node editor add menu. Assets are added after separators to distinguish them, but otherwise they look like any other node. The catalog trees from all configured libraries are used to build the menu hierarchy. Only catalogs with matching asset types are used though. There are a few limitations of this initial version. For now this only supports geometry nodes. Support for other built-in node systems just requires some refactoring of the corresponding add menu though. Lazy loading will be added in a followup commit. For now there is a label the first time the menu is opened. Like the search menu integration, re-saving asset library files in 3.4 is required, if it hasn't been done already. Implementation wise, there is a some ugly code here. A lot of that is because the asset system isn't complete. The RNA API doesn't work well yet, and the system isn't built to interact with multiple libraries at once. It's also ugly because of the way we combine automatic menu generation with builtin menus. As noted in a code comment, these two systems could be merged completely so that the menus for builtin nodes are also generated in the same way. Differential Revision: https://developer.blender.org/D16135
2022-11-01USD tests: replace deprecated imaging code.Michael Kowalski
UsdImagingCapsuleAdapter static functions GetMeshPoints() and GetTopology() have been removed in USD 22.11. In anticipation of this upcoming change, I've updated the test code to call the corresponding virtual functions instead.
2022-11-01Cleanup: Use bool for binary (true-ish/false-ish) return valueJulian Eisel
2022-11-01Fix T101062: sculpt curves crash using a paintcurve brushPhilipp Oeser
For one, paintcurves were not considered in curves sculpt mode at all (so you couldnt draw them). This is now enabled. And the second issue was that since curves sculpt mode uses the reguar paint_stroke_modal() [which handles paintcurves], this was actually excuted, freeing the PaintStroke from SculptCurvesBrushStrokeData (but not the CurvesSculptStrokeOperation) and immediately return OPERATOR_FINISHED from modal (resulting in a double MEM_delete of SculptCurvesBrushStrokeData -- in both invoke and modal). There might be better ways to handle the memory free, for now the double freeing is prevented by setting the operator customdata to NULL (and check for that later). Maniphest Tasks: T101062 Differential Revision: https://developer.blender.org/D16099
2022-11-01Refactor: Rename Object->obmat to Object->object_to_worldSergey Sharybin
Motivation is to disambiguate on the naming level what the matrix actually means. It is very easy to understand the meaning backwards, especially since in Python the name goes the opposite way (it is called `world_matrix` in the Python API). It is important to disambiguate the naming without making developers to look into the comment in the header file (which is also not super clear either). Additionally, more clear naming facilitates the unit verification (or, in this case, space validation) when reading an expression. This patch calls the matrix `object_to_world` which makes it clear from the local code what is it exactly going on. This is only done on DNA level, and a lot of local variables still follow the old naming. A DNA rename is setup in a way that there is no change on the file level, so there should be no regressions at all. The possibility is to add `_matrix` or `_mat` suffix to the name to make it explicit that it is a matrix. Although, not sure if it really helps the readability, or is it something redundant. Differential Revision: https://developer.blender.org/D16328
2022-11-01Fix compilation error on Windows.Jeroen Bakker
Missing return statement in recent commit. Code is disabled by default, so might not have been noticed.
2022-11-01Cleanup: spelling in commentsCampbell Barton
2022-11-01Cleanup: doxy comment formattingCampbell Barton
2022-11-01Cleanup: fix translation for rare UV unwrapping with unit scaleChris Blackbourn
Fixes very rare cases where the UV Cylinder Project, UV Sphere Project and UV From View might not set the translation correctly if the scale is exactly 1.0. Mainly fixed because this code might later be reused elsewhere.
2022-10-31Geometry Nodes: Use attribute API in deform curves on surface nodeHans Goudey
Retrieve the surface UV coordinates with the attribute API instead of the helper function. This allows more flexibility of data types (and domains), which is helpful especially because geometry nodes can't write 2D vectors yet.