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-11-24Cleanup: `IDTypeInfo` new `asset_type_info` member.Bastien Montagne
Two issues addressed here: I) `asset_type_info` is sub-data, not a callback. Therefore, move it before the callbacks in the `IDTypeInfo` struct. II) More important, initialize this new attribute in *ALL* `IDTypeInfo` instances. No member of this struct should ever be left implicitely uninitilazed, ever. Aftermath of rBa84f1c02d251.
2021-11-24Fix T93345: missing null check for geometry nodes loggerJacques Lucke
2021-11-24Cleanup: Add info about attributes init in Mesh IDTypeInfo after conversion ↵Bastien Montagne
to C++. rB6002914f141f totally lost those info, in C++ we use comments by convention.
2021-11-24Cleanup: use lowercase in private functions.Jeroen Bakker
2021-11-24Cleanup: use nullptrJacques Lucke
2021-11-24Fix crash when opening search menu.Jeroen Bakker
Asset install bundle poll didn't check the space it was running in and assumed that it was always running in file browser.
2021-11-24AssetBrowser: Disable asset indexing.Jeroen Bakker
Asset Indexing is disabled for now as it requires {D12990} to support object snapping.
2021-11-24T91406: Asset Library IndexingJeroen Bakker
Asset library indexing would store indexes of asset files to speed up asset library browsing. * Indexes are read when they are up to date ** Index should exist ** Index last modify data should be later than the file it indexes ** Index version should match * The index of a file containing no assets can be load without opening the index file. The size of the file should be below a 32 bytes. * Indexes are stored on a persistent cache folder. * Unused index files are automatically removed. The structure of the index files contains all data needed for browsing assets: ``` { "version": <file version number>, "entries": [{ "name": "<asset name>", "catalog_id": "<catalog_id>", "catalog_name": "<catalog_name>", "description": "<description>", "author": "<author>", "tags": ["<tag>"] }] } ``` Reviewed By: sybren, Severin Maniphest Tasks: T91406 Differential Revision: https://developer.blender.org/D12693
2021-11-24Animation: Add test cases for `ED_keyframes_keylist`.Jeroen Bakker
This patch adds test cases to detect edge cases when finding keylist columns. The patch originated during development of D12052 to make sure the new implementation matches the old implementation. It would be good to add these test cases to master so this part is covered in a next change might influence the expected edges. The patch covers `ED_keylist_find_next`, `ED_keylist_find_prev` and `ED_keylist_find_exact` methods. Reviewed By: sybren Differential Revision: https://developer.blender.org/D12302
2021-11-24Extract keyframe segment calculationChristoph Lendenfeld
extracts the search for keyframe segments (consecutive selection of keys) It will be reused by future graph editor operators Reviewed by: Sybren A. Stüvel Differential Revision: https://developer.blender.org/D9360 Ref: D9360
2021-11-24Cleanup: unused variableGermano Cavalcante
2021-11-24Fix (unreported): Local preview icons not loadingGermano Cavalcante
Bug introduced in {rB9d7422b817d1}. The solution is not an init thread for preview tasks that won't complete.
2021-11-23Cleanup: clang tidyJacques Lucke
The parameter name was inconsistent with the declaration.
2021-11-23Merge branch 'blender-v3.0-release'Jacques Lucke
2021-11-23Fix (unreported): unlinked group input is not logged in geometry nodesJacques Lucke
Differential Revision: https://developer.blender.org/D13340
2021-11-23Asset: Merge asset library/list refresh operatorsJulian Eisel
In rBdcdbaf89bd11, I introduced a new operator (`file.asset_library_refresh()`) to handle Asset Browser refreshing more separate from File Browser refreshing. However, there already was `asset.asset_list_refresh()`, which at this point only works for asset view templates, but was intended to cover the Asset Browser case in future too. This would happen once the Asset Browser uses the asset list design of the asset view template. So rather than having two operators for refreshing asset library data, have one that just handles both cases, until they converge into one. This avoids changes to the Python API in future (deprecating/changing operators). Differential Revision: https://developer.blender.org/D13239
2021-11-23Clean-up: Fix BLI_rect.h collision with windows.hRay Molenkamp
windows.h `#defines rct1` as a number which is problematic if we include `BLI_rect.h` after `windows.h` . by renaming `rct1/2` to `rct_a/b` we side step the collision and straighten up the naming with the functions directly above it.
2021-11-23Cleanup: Else after return, other simplificationsHans Goudey
`std::stringstream` already returns a `std::string`, and there is no particular reason to use short here instead of int.
2021-11-23Asset: Merge asset library/list refresh operatorsJulian Eisel
In rBdcdbaf89bd11, I introduced a new operator (`file.asset_library_refresh()`) to handle Asset Browser refreshing more separate from File Browser refreshing. However, there already was `asset.asset_list_refresh()`, which at this point only works for asset view templates, but was intended to cover the Asset Browser case in future too. This would happen once the Asset Browser uses the asset list design of the asset view template. So rather than having two operators for refreshing asset library data, have one that just handles both cases, until they converge into one. This avoids changes to the Python API in future (deprecating/changing operators). Differential Revision: https://developer.blender.org/D13239
2021-11-23Merge branch 'blender-v3.0-release'Julian Eisel
2021-11-23Fix broken handling of constraints reordering with library overridesJulian Eisel
Alternative to D13291 (description partially copied from there). New drag & drop reordering code would call constraints reordering operator with the generic context, and not the one from the panel's layout. missing the "constraint" member which is mandatory for poll function to properly deal with override vs. local constraints. For this to work in a decent way, there needs to be some panel-wide context that we can restore when executing callbacks outside of the normal draw context. So similar to uiLayoutSetContextPointer() to set context on a layout level, this introduces UI_panel_context_pointer_set() for panel level context (this calls the former for the current panel root layout as well). Differential Revision: https://developer.blender.org/D13308
2021-11-23Merge branch 'blender-v3.0-release'Sebastian Parborg
2021-11-23Fix: The bounding box gizmo breaks if transform pivot is set to cursorSebastian Parborg
The bounding box transform code assumed that the pivot would always be the sequence object transform center. Rework the code so that this assumption is true even if the general transform pivot is set to be the 2D cursor.
2021-11-23Merge branch 'blender-v3.0-release'Jacques Lucke
2021-11-23Geometry Nodes: fix attribute propagation in Delete Geometry nodeJacques Lucke
Previously, attribute propagation did not work correctly in when only deleting edges and faces (but not points). Face and face corner attributes were propagated wrongly or not at all respectively. In order to keep the patch relatively small for the release branch, it does not include some small optimizations. These can be done in 3.1: * Use a `Span<int>` instead of `IndexMask` to avoid creating an unnecessary `Vector<int64_t>`. * Only prepare index mappings when there are actually attributes to propagate. Differential Revision: https://developer.blender.org/D13338
2021-11-23Geometry Nodes: Node execution time overlayErik
Adds a new overlay called "Timings" to the Geometry Node editor. This shows the node execution time in milliseconds above the node. For group nodes and frames, the total time for all nodes inside (recursively) is shown. Group output node shows the node tree total. The code is prepared for easily adding new rows of information to the box above the node in the future. Differential Revision: https://developer.blender.org/D13256
2021-11-23Cleanup: Simplify geometry node function namesHans Goudey
With this commit, we no longer use the prefixes for every node type function like `geo_node_translate_instances_`. They just added more places to change when adding a new node, for no real benefit. Differential Revision: https://developer.blender.org/D13337
2021-11-23Merge branch 'blender-v3.0-release'Jacques Lucke
2021-11-23Fix T93297: incorrect eevee motion blur with geometry instancesJacques Lucke
This disables motion blur for geometry instances in eevee, which did not work correctly anyway. See code comment for more details. Differential Revision: https://developer.blender.org/D13334
2021-11-23Merge branch 'blender-v3.0-release'Philipp Oeser
2021-11-23Fix T93322: Freestyle Sinus Displacement Division by Zero CrashPhilipp Oeser
This happens if the Wavelength is set to 0.0f. Not sure if we really need a do_version patch for old files, as an alternative we could also force a slight offset in the SinusDisplacementShader. This patch does not do either, just force a positive range from now on. Maniphest Tasks: T93322 Differential Revision: https://developer.blender.org/D13329
2021-11-23Cleanup: Suppress clang-tidy warning.Jeroen Bakker
2021-11-23Geometry Nodes: add namespace for every fileJacques Lucke
This puts all static functions in geometry node files into a new namespace. This allows using unity build which can improve compile times significantly (P2578). * The name space name is derived from the file name. That makes it possible to write some tooling that checks the names later on. The file name extension (`cc`) is added to the namespace name as well. This also possibly simplifies tooling but also makes it more obvious that this namespace is specific to a file. * In the register function of every node, I added a namespace alias `namespace file_ns = blender::nodes::node_geo_*_cc;`. This avoids some duplication of the file name and may also simplify tooling, because this line is easy to detect. The name `file_ns` stands for "file namespace" and also indicates that this namespace corresponds to the current file. In the beginning I used `node_ns` but `file_ns` is more generic which may make it more suitable when we want to use unity builds outside of the nodes modules in the future. * Some node files contain code that is actually shared between different nodes. For now I left that code in the `blender::nodes` namespace and moved it to the top of the file (couldn't move it to the bottom in all cases, so I just moved it to the top everywhere). As a separate cleanup step, this shared code should actually be moved to a separate file. Differential Revision: https://developer.blender.org/D13330
2021-11-23Geometry Nodes: reduce overhead when processing single valuesJacques Lucke
Currently the geometry nodes evaluator always stores a field for every type that supports it, even if it is just a single value. This results in a lot of overhead when there are many sockets that just contain a single value, which is often the case. This introduces a new `ValueOrField<T>` type that is used by the geometry nodes evaluator. Now a field will only be created when it is actually necessary. See D13307 for more details. In extrem cases this can speed up the evaluation 2-3x (those cases are probably never hit in practice though, but it's good to get rid of unnecessary overhead nevertheless). Differential Revision: https://developer.blender.org/D13307
2021-11-23Merge branch 'blender-v3.0-release'Jacques Lucke
2021-11-23Fix T93296: raycast node uses wrong domain for face corner attributesJacques Lucke
This changes what domain is used by the raycast mode. This should fix the behavior for face corner attributes (but may make it a bit slower for other attributes). I think for 3.0 this is an acceptable trade off. For 3.1 we can do what the comment suggests already. Differential Revision: https://developer.blender.org/D13333
2021-11-23Fix T93231: crash when overwriting vertex group with other domainJacques Lucke
The problem was that we forgot to actually remove the vertex group when it should be deleted. We only removed all the data that was attached to it. Differential Revision: https://developer.blender.org/D13326
2021-11-23Merge branch 'blender-v3.0-release'Bastien Montagne
2021-11-23Fix broken versionning after recent refactor of insertion in liboverrides.Bastien Montagne
rB33c5e7bcd5e5b79 doversion code was incorrectly dealing with 'insert in first position' case from older blendfiles. Specifically, a NULL anchor is valid (it means that the new item is the first of the stored override data, and should be inserted at start of the list). Reported as part of T93321.
2021-11-23Icons: Replace .blend file icons, add "Current File" iconJulian Eisel
The Blender icon must not be used to refer to anything that is not Blender itself. Using the Blender icon on its own to refer to .blend files or the currently open file is a no-go, which was brought up by Ton. This does the following changes to the icon file: * Add new "Current File" icon * Change the .blend file icon to contain a file icon with the Blender logo, but not merely the Blender logo. * Change the backup .blend file icon accordingly. The new "Current File" icon is used in the Asset Browser, but could/should be used in the Outliner as well. That needs more design discussion though.
2021-11-23Cleanup: Silence compilation warning.Jeroen Bakker
For now made DRW_notify_view_update_offscreen static.
2021-11-23Merge branch 'blender-v3.0-release'Germano Cavalcante
Conflicts: source/blender/editors/transform/transform_generics.c
2021-11-23Cleanup: clang-tidy warningsGermano Cavalcante
Silenciate warnings of usage of 'else' after 'return'
2021-11-23Merge branch 'blender-v3.0-release'Clément Foucault
2021-11-23Fix T89204: slow repeated rendering with GPUOffscreen.draw_view3d.Christian Stolze
Reviewed By: fclem Differential Revision: D13235
2021-11-23Merge remote-tracking branch 'origin/blender-v3.0-release'Sybren A. Stüvel
2021-11-23Cleanup: fix clang-tidy warningsSybren A. Stüvel
Fix clang-tidy warnings introduced by a recent commit on the release branch. No functional changes.
2021-11-23Merge remote-tracking branch 'origin/blender-v3.0-release'Sybren A. Stüvel
2021-11-23Asset Browser: add operator for installing asset bundlesSybren A. Stüvel
Add an operator "Copy to Asset Library" for installing asset bundles into already-existing asset libraries. The operator is shown when: - the "Current File" library is selected, - the blend file name matches `*_bundle.blend`, and - the file is not already located in an asset library. The user can select a target asset library, then gets a "Save As" dialogue box to select where in that library the file should be saved. This allows for renaming, saving in a subdirectory, etc. The Asset Catalogs from the asset bundle are merged into the target asset library. The operator will refuse to run when external files are referenced. This is not done in its poll function, as it's quite an extensive operator (it loops over all ID datablocks). Reviewed by: Severin Differential Revision: https://developer.blender.org/D13312
2021-11-23BKE LibLink/Append: Add mechanism for external code to loop over link/append ↵Bastien Montagne
context items. Will be required for python's `bpy.data.libraries.load()` refactor.