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-03-05Merge branch 'master' into temp-spreadsheet-editortemp-spreadsheet-editorJacques Lucke
2021-03-05Cleanup: spellingCampbell Barton
2021-03-04Cleanup: Main `foreach ID` code: Remove `MAX_LIBARRAY` and improve comments.Bastien Montagne
The `MAX_LIBARRAY` define was an annoying doublon to the `INDEX_ID_MAX` enum value now defined in `DNA_ID.h`, and it is no more useful. And comments were somewhat outdated. Also added an explanation about chosen order for the `INDEX_ID_<IDTYPE>` order.
2021-03-04Cleanup: redundant struct declarationsCampbell Barton
2021-03-04Cleanup: use const arraysCampbell Barton
2021-03-03EEVEE: Avoid old files with too many volume shadow sample being too slowClément Foucault
This clamp the volumetric shadow samples to the actual old max to avoid problematic slowdown after the bugfix rB3a29c19b2bff.
2021-03-03Merge branch 'master' into temp-spreadsheet-editorJacques Lucke
2021-03-03Cleanup: clang tidyJacques Lucke
Warnings: * readability-inconsistent-declaration-parameter-name * readability-redundant-smartptr-get
2021-03-03Cleanup: Use span and float matrix type in direct boolean codeHans Goudey
This commit includes a few simple improvements to the direct mesh boolean code added recently. - Passing the transforms and meshes to `direct_mesh_boolean` as spans makes the function easier to call from C++. - The definition of `TransMat`, was unecessary when we have the `float4x4` type already used elsewhere in C++ code. Differential Revision: https://developer.blender.org/D10592
2021-03-02Python API: Expose CurveMapping Reset View functionPatrick Busch
The Python API for the curve mapping widget offers the `update` function, but no way to reset the view to the clipping rectangle. This commit adds a blenkernel function for this operation, and exposes it to the CurvMapping RNA API. This allows addons to display a more user-friendly view of the data in this widget. Differential Revision: https://developer.blender.org/D10561
2021-03-02Fix Node UI Storage Threading IssuesHans Goudey
Since the same node tree can be used in modifiers on different objects, there can be multiple threads writing to the maps in the node tree UI storage at the same time. The additions for attribute name hints and error messages made it so this would often cause a crash or at least an ASAN report. This patch adds locks to prevent multiple threads from using the maps concurrently. In a brief test I actually didn't observe a crash without the global `bNodeTree` UI storage mutex, but I think it's necessary for the change to be correct, and I did notice some unfreed memory without it anyway. Ideally it would be in a node tree runtime struct though. Differential Revision: https://developer.blender.org/D10577
2021-03-02Sculpt: Expand OperatorPablo Dobarro
Expand is a new operator for Sculpt Mode which is intended to be the main tool for masking, Face Set editing, interacting with the filters and pattern creation. The fundamentals of the tool are similar to the previous sculpt.mask_expand operator. It shares the same default shortcuts and functionality, making the previous operator obsolete. The shortcuts to execute the operator are: - Shift + A: Expand mask - Shift + Alt + A: Expand mask by normals - Shift + W: Expand Face Set - Shift + Alt + W: Resize current Face Set The main changes compared to the previous sculpt.mask_expand operator are: - Modal keymap, all operator options can be changed in real time while the operator is running. - Supports creating Mask, Face Sets and Sculpt Vertex Colors. - Much better code, new features can be easily integrated. Limitations: - All Mask operations are supported for Sculpt Vertex colors, but not exposed by default as their support is still experimental. - Dyntopo does not support any Face Set or Sculpt Vertex Colors. functionality (they are not implemented in general for Dyntopo). - Multires does not support any feature related to geodesic distances. - Multires does not support vertex colors. - Multires does not support recursions. - In Multires, Face Sets snaping does not initialize all current enabled Face Sets when toggling snapping. - In Multires, Face Sets are created at base mesh level (works by this by design, like any other tool). - Unlike the previous mask_expand operator, this one does not blur the mask by default after finishing Expand as that does not fit the new design. The mask can still be blurred by using the mask filter manually. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10455
2021-03-02Fix T86026: Crash Opening Cryptomatte File.Jeroen Bakker
Not sure this fixes the root cause. It seems that memory corruption happens in dynstr. This patch replaces dynstr with a streamstring.
2021-03-02Fix T86172: check if attribute is actually accessibleJacques Lucke
The crash happened when the density in the Point Distribute node was above zero but so small, that no point was generated. In this case, there was a point cloud component, but the point cloud was empty, making some attributes unavailable. One could also make more attributes available in this case, but that can be done separately if necessary.
2021-03-02Fix T85981, part II: bone's custom shape disappear on undo in some cases.Bastien Montagne
Nicely hidden bug in pose read library code, it was using the library from the wrong ID as reference to relink the custom shape object pointer (pose is data from Object, not Armature).
2021-03-02Geometry Nodes: show "Show Texture in texture tab" buttonPhilipp Oeser
This enables the quick access button [to show the relevant Texture in the Properties Editor] for textures used in geometry nodes. This goes in line to what we do for other textures: - modifier textures have this button - particle textures have this button - brush textures will soon have it, too (see D9813) When outside of the Properties Editor, the button will always show (if a texture is actually assigned), but will be inactive if no suiting Properties Editor to show the texture in can be found. Note this also changes the behavior to not show the button if _no_ texture is assigned (as in: we are still showing the "New" button). Previously it was always there (e.g. for modifier textures), even if it would take us to an empty texture tab. (Sure, we could add a texture there then, but imho it makes more sense to just start showing it once a texture is already there) For this to work with geometry nodes, the following chages were done: - implement foreachTexLink for geonode modifiers - new buttons_texture_user_node_property_add() that stores prop as well as node - also use NODE_ACTIVE_TEXTURE flag in geometry nodetrees notes: - this still uses the first suiting (as in: pinning does not interfere) Properties Editor it finds, this should (maybe?) find the _closest_ Property Editor instead (see related feedback in D9813). - this will already show the button for brush textures as well (disabled), but there is another mandatory change in an upcomming commit to make it work there as well (see D9813) ref. T85278 Maniphest Tasks: T85278 Differential Revision: https://developer.blender.org/D10293
2021-03-02Merge branch 'master' into temp-spreadsheet-editorJacques Lucke
2021-03-02Cryptomatte: Session from Existing Render Result.Jeroen Bakker
Utility to construct a cryptomatte session from a render result or openexr file. This will allow D3959 to be more aware of the context it is working on and would also support external render engines in the cryptomatte color picker.
2021-03-02Fix build error after last commitHans Goudey
2021-03-02Cleanup: Rename node UI storage functionHans Goudey
"ensure" makes more sense in this case because the function actually adds an item to the map if one doesn't exist yet.
2021-03-01Cleanup: rename some animation-related functionsSybren A. Stüvel
Rename: - `BKE_animsys_store_rna_setting` → `BKE_animsys_rna_path_resolve` - `BKE_animsys_read_rna_setting` → `BKE_animsys_read_from_rna_path` - `BKE_animsys_write_rna_setting` → `BKE_animsys_write_to_rna_path` The concept of "RNA setting" is unclear; the new names reflect better what the functions actually do. No functional changes.
2021-03-01Cleanup: refactor `BKE_animsys_store_rna_setting()`Sybren A. Stüvel
Lower the cognitive complexity of `BKE_animsys_store_rna_setting()` by flipping conditions and using early returns. No functional changes.
2021-03-01Cleanup: remove superfluous `animsys_evaluate_action_ex()` callSybren A. Stüvel
Remove `animsys_evaluate_action()` and rename `animsys_evaluate_action_ex()` to it. The only function of the former was to call the latter, with the exact same parameters. No functional changes.
2021-03-01Cryptomatte: Flexible Definition of CryptomatteLayers.Jeroen Bakker
Cryptomatte layers in Blender are predefined. Other render engines might have other naming schemes. This patch will allow creation of cryptomatte layers with other names. This will be used by D3959 to load cryptomatte openexr files from other render engines. EEVEE and Cycles still use our fix naming scheme so no changes are detectable by users.
2021-03-01Fix Crash: Access Unallocated Memory.Jeroen Bakker
2021-03-01Cleanup: Missing const keyword.Jeroen Bakker
2021-03-01Fix T86087: Assert when changing compositor node value or invoking tooltip.Bastien Montagne
Regression from rBde25b79ff5c4, this flag is inconsistent currently for embedded IDs, needs to be sorted out, see T86119.
2021-03-01Merge branch 'master' into temp-spreadsheet-editorJacques Lucke
2021-03-01Cleanup: spellingCampbell Barton
2021-02-27Geometry Nodes: Add "Location" output to Attribute Proximity nodeVictor-Louis De Gusseme
This patch adds an output field to the Attribute Proximity node and renames the existing string socket from "Result" to "Distance". - The "Distance" output contains distance to the closest position on the Target geometry. - The new "Location" output contains the coordinates of the closest position on the Target geometry. A basic use case for this data is a simple shrinkwrap operation. Differential Revision: https://developer.blender.org/D10415
2021-02-26Cleanup: Use find_first_not_of.Jeroen Bakker
2021-02-26Fix: Compile issue Windows.Jeroen Bakker
2021-02-26Cryptomatte: Manifest Parsing.Jeroen Bakker
This patch adds manifest parsing to Cryptomatte. Normally when loading cryptomatte layer from an OpenEXR file the manifest contains data to convert a hash to its original name of the object/material. In the future we want to use this to support lookup of cryptomatte hashes and show it to the user. Currently this logic isn't available to users (for now), but is required by D3959 where a new cryptomatte workflow is implemented.
2021-02-26Merge branch 'master' into temp-spreadsheet-editorJacques Lucke
2021-02-26Cleanup: use boolean argumentsCampbell Barton
2021-02-26Undo: don't log an error when the undo limit has been exceededCampbell Barton
2021-02-25Fix (unreported) bad usercount handling in batch ID deletion.Bastien Montagne
This was rather obscure and non-critical issue, but in some cases ID usercount of some deleted IDs from batch-deletion code would not be properly nullified, which would then assert later in actual deletion code.
2021-02-25BKE_lib_query: Add a function to detect and tag all unused IDs.Bastien Montagne
With the option to detect orphaned data recursively (i.e. if ID `a` is the only user of ID `b`, and ID `a` is unused, ID `b` will also get tagged as unused). To be used by the Purge operation.
2021-02-25Merge branch 'master' into temp-spreadsheet-editorJacques Lucke
2021-02-25Cleanup: quiet warningJacques Lucke
"loop variable 'item' is always a copy because the range of type ..."
2021-02-25Refactor: IDTypeInfo: Add `owner_get` to get owner of embedded IDs.Bastien Montagne
This concerns currently only collections (`master_collection` of scenes) and root node trees. It removes the matching type-specific helpers (`BKE_collection_master_scene_search` and `BKE_node_tree_find_owner_ID`). No functional change expected here. NOTE: Current implementation of `owner_get` is far from optimal, we could probably do it better, see {T69169}. NOTE: While it could also have it, shapekeys IDTypeInfo was left out of this change for now. Mainly because it sould not be used currently, and we ultimately want to demote shape keys from ID status anyway.
2021-02-25initial pinning in header uiJacques Lucke
2021-02-25Merge branch 'master' into temp-spreadsheet-editorJacques Lucke
2021-02-25Cleanup: spellingCampbell Barton
2021-02-24Merge branch 'master' into temp-spreadsheet-editorJacques Lucke
2021-02-24Geometry Nodes: store available attribute names in node ui storageJacques Lucke
This information will be used by the attribute search in string sockets. Ref T85657. Differential Revision: https://developer.blender.org/D10462
2021-02-24PyAPI: Fix memory leak of parameters used for python 'draw_callbacks'Germano Cavalcante
When closing the blender, while the callbacks are removed, the reference count of the object used as `customdata` is not decremented. This commit adds two functions that correctly release the python `draw_callbacks` before releasing all `draw_callbacks`. Differential Revision: https://developer.blender.org/D10478
2021-02-24Cleanup: CryptomatteLayerJeroen Bakker
Missing code flow.
2021-02-24Cleanup: Cryptomatte Use StringRef(Null).Jeroen Bakker
2021-02-24Cleanup: CryptomatteLayer structure.Jeroen Bakker
Current implementation was to restricting for future enhancements where the CryptomatterLayer could be read from existing metadata.