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-09-23Fix T91557: Texture Paint Stencil doesnt use assigned UV LayerPhilipp Oeser
Choosing a UV layer would actually affect the overlay in the viewport and also painting with the mask brush was in that UV space, but the resulting stencil mask was always applied with the active UV (not the explicitly selected stencil UV -- the one one is looking at in the viewport!) to painting. This has been like that as far as I have checked back (at least 2.79b), I am surprised this has not come up before, but it does not seem to make sense at all... Now use the UV specified for the stencil layer when applying the mask for painting, so it corresponds to the stencil mask one is looking at in the viewport. Maniphest Tasks: T91557 Differential Revision: https://developer.blender.org/D12583
2021-09-23Asset Catalogs: explicit version number in catalog definition filesSybren A. Stüvel
Declare the current format used for asset catalog definition files as version 1, and write that to the files. Files without that version number will be rejected. This makes it much easier to move to different versions later, with the opportunity to do versioning on file load. The version is not associated with any version of Blender, but a separate integer that's simply incremented when a non-backward-compatible change happens.
2021-09-23Fix unused variable warning in release buildsJulian Eisel
The variable is only used in debug builds.
2021-09-23Assets: add Asset Catalog systemSybren A. Stüvel
Catalogs work like directories on disk (without hard-/symlinks), in that an asset is only contained in one catalog. See T90066 for design considerations. #### Known Limitations Only a single catalog definition file (CDF), is supported, at `${ASSET_LIBRARY_ROOT}/blender_assets.cats.txt`. In the future this is to be expanded to support arbitrary CDFs (like one per blend file, one per subdirectory, etc.). The current implementation is based on the asset browser, which in practice means that the asset browser owns the `AssetCatalogService` instance for the selected asset library. In the future these instances will be accessible via a less UI-bound asset system. The UI is still very rudimentary, only showing the catalog ID for the currently selected asset. Most notably, the loaded catalogs are not shown yet. The UI is being implemented and will be merged soon. #### Catalog Identifiers Catalogs are internally identified by UUID. In older designs this was a human-readable name, which has the problem that it has to be kept in sync with its semantics (so when renaming a catalog from X to Y, the UUID can be kept the same). Since UUIDs don't communicate any human-readable information, the mapping from catalog UUID to its path (stored in the Catalog Definition File, CDF) is critical for understanding which asset is stored in which human-readable catalog. To make this less critical, and to allow manual data reconstruction after a CDF is lost/corrupted, each catalog also has a "simple name" that's stored along with the UUID. This is also stored on each asset, next to the catalog UUID. #### Writing to Disk Before saving asset catalogs to disk, the to-be-overwritten file gets inspected. Any new catalogs that are found thre are loaded to memory before writing the catalogs back to disk: - Changed catalog path: in-memory data wins - Catalogs deleted on disk: they are recreated based on in-memory data - Catalogs deleted in memory: deleted on disk as well - New catalogs on disk: are loaded and thus survive the overwriting #### Tree Design This implements the initial tree structure to load catalogs into. See T90608, and the basic design in T90066. Reviewed By: Severin Maniphest Tasks: T91552 Differential Revision: https://developer.blender.org/D12589
2021-09-23Asset Browser: Disable metadata editing for external asset librariesJulian Eisel
Buttons to edit asset metadata are now disabled for assets from an external library (i.e. assets not stored in the current .blend file). Their tooltips explain why they are disabled. Had to do some RNA trickery to disable the metadata properties at RNA level, not at UI script level. The basic idea is: * Local data-block assets set the data-block as owning ID for the asset metadata RNA pointer now. * That way we can use the owner ID to see where the metadata belongs to and decide if it's editable that way. * Additionaly, some Python operators needed better polling so they show as grayed out, and don't just fail. One important thing: Custom properties of the metadata can still be edited. The edits won't be saved however. Would be nice to disable that, but it's currently not supported on BPY/IDProperty/RNA level. Addresses T82943. Differential Revision: https://developer.blender.org/D12127
2021-09-23Fileops: call `BLI_path_slash_native()` in `BLI_dir_create_recursive()`Sybren A. Stüvel
Make the Windows version of `BLI_dir_create_recursive()` call `BLI_path_slash_native()` before it tries to handle the path. This should make it possible to call it with non-native path separators. This change was provided by our Windows platform maintainer @LazyDodo in P2414, so I assume he agrees with this change.
2021-09-23Keymap: RMB select option to place cursor on Alt-LMBCampbell Barton
This allows most tools to activate on press, removing a small but noticeable distance between the initial press and detection of a drag event. Gizmo tweak no longer actives when Alt is held, to avoid conflicting with cursor placement. This has the advantage that the gizmo doesn't get in the way when Alt is used for activating tools or placing the cursor.
2021-09-23WM: gestures now activate immediately on mouse pressCampbell Barton
Some gestures were activating immediately on tweak events, extend this to mouse-press and click-drag. Without this change, box-select for example wouldn't be automatically activated on mouse-press.
2021-09-23Cleanup: spelling in commentsCampbell Barton
2021-09-23Cleanup: assign variable for LMB selectCampbell Barton
2021-09-23LibLink: Modify WM API to link/append one ID to take flag parameter.Bastien Montagne
There is no reason to lock behavior into a specific configuration in those calls, make them properly configurable like the rest of the link/append code. This also enable users of those functions to activate 'ID reuse' behavior.
2021-09-23Geometry Nodes: add utility to print an attribute id.Jacques Lucke
2021-09-23Fix T91629: Crash in "Open Cached Render" functionSergey Sharybin
2021-09-23LibLink Append: Expose 'reuse ID' through new BLO flag, and add basic tests.Bastien Montagne
Option is now available to append operator, alsthough hidden and disabled by default.
2021-09-23LibLink Append: Fix 'reused ID' case keeping linked data around.Bastien Montagne
When we re-use a local ID, we need to delete the matching linked data.
2021-09-23Cleanup: proper handling of `LIB_TAG_DOIT` in append code.Bastien Montagne
2021-09-23Cleanup: eBLOLibLinkFlags: Add 'space' between `APPEND` flags and `INSTANCE` ↵Bastien Montagne
ones.
2021-09-23Cleanup: Silence unused var warning in release builds.Bastien Montagne
2021-09-23Add missing GPencil `IDTYPE_FLAGS_APPEND_IS_REUSABLE` flag.Bastien Montagne
Forgot that one in rB794c2828af60. Noted by Antonio Vazquez (@antoniov), thanks.
2021-09-23Append: Reuse local data: remove limitation on directly selected data.Bastien Montagne
in asset context, when user drag & drop a material several time, they would still expect to re-use existing one instead of getting new copies of it, even if this material is directly appended (and not an indirect dependency of an object e.g.).
2021-09-23Link/Append: Refactor flags.Bastien Montagne
Flags controlling link/append code are split between two enums, one in `DNA_space_types.h` and one in `BLO_readfile.h`. This commit: - Moves flags exclusively used in WM and BLO code to `eBLOLibLinkFlags` in `BLO_readfile.h`. Flags in `eFileSel_Params_Flag` from `DNA_space_types.h` are now only the ones effectively used by the file browser editor code too. - Fixes some internal utils in `readfile.c` still taking `short` flag parameter instead of proper `int` one. NOTE: there are a few other flags that could probably be moved to `eBLOLibLinkFlags` (at the very least `FILE_LINK`, probably also `FILE_AUTOSELECT` and `FILE_ACTIVE_COLLECTION`), since those are not effectively used by the file browser, and control linking/appending behavior, not filebrowser behavior. However for now think it's safer to not touch that.
2021-09-23Fix last Cycles tile highlighted while file from disk is being processedSergey Sharybin
2021-09-23Fix default surface resolution U/V mis-matchCampbell Barton
The resolution for surfaces was 12 for U, 4 for V, where both should have been set to 4. Regression in 9a076dd95a01135ea50f9ccc675668db9f2155f4
2021-09-23Cleanup: spelling in commentsCampbell Barton
2021-09-23Custom Properties: Rewrite edit operator, improve UXHans Goudey
This commit changes the custom property edit operator to make editing different properties types more obvious and expose more of the data, made more easily possible by the recent UI data refactor. Previously, the operator guessed the type you wanted based on what you wrote in a text box. That was problematic, you couldn't make a string property with a value of `1234`, and you had to know about the Python syntax for lists in order to create an array property. It was also slow and error prone; it was too easy to make a typo. Improvements compared to the old operator: - A type drop-down to choose between the property types. - Step and precision values are exposed. - Buttons that have the correct type based on the property. - String properties no longer display min, max, etc. buttons. - Generally works in more cases. The old operator tended to break. - Choose array length with a slider. - Easy to choose to use python evaluation when necessary. - Code is commented, split up, and much easier to understand. The custom property's value is purposefully not exposed, since the Edit operator is for changing the property's metadata now, rather than the value itself. Though in the "Python" mode the value is still available. More improvements are possible in the future, like exposing different subtypes, and improving the UI of the custom properties panel. Differential Revision: https://developer.blender.org/D12435
2021-09-23Applying patch D12600, GSOC Knife Tools branchCian Jinks
This adds constrained angle mode improvements, snapping to global and local orientation, visible distance and angle measurements, undo capability, x-ray mode, multi-object edit mode. See https://developer.blender.org/D12600 for more details. Note: this project moved some of the default keymappings around a bit, as discussed with users in the thread https://devtalk.blender.org/t/gsoc-2021-knife-tool-improvements-feedback/19047 We'll change the manual documentation in the next couple of days.
2021-09-23Fix: T91602 ffmpeg crashRay Molenkamp
Issue caused by our patch in rB1af722b81912 we replaced an array with a memory allocation but we forgot to update the assert which now used an invalid method to calculate the array size. SVN libs will have to be updated before T91602 will be fixed for end users.
2021-09-23Cleanup: Move more shader nodes to socket declaration APIHans Goudey
I had to add `no_muted_links` to the declaration API. The name could change there, but I think it's more obvious than "internal"
2021-09-23Fix: Incorrect socket names after previous commitHans Goudey
2021-09-22Cleanup: Use new node socket declaration API for some shader nodesHans Goudey
This converts socket declarations for most shader nodes that had already been converted to C++, but skips those that needed a special flag.
2021-09-22GPencil: Fix compiler warningsAntonio Vazquez
2021-09-22Cleanup: Silence missing switch case warningPeter Kim
2021-09-22Fix T91607: GPencil Tint modifier "apply" removes the effectAntonio Vazquez
2021-09-22BLI: support initializing empty FunctionRef with nullptrJacques Lucke
This may sometimes be desired because it is more explicitely shows that the `FunctionRef` will be empty.
2021-09-22Cleanup: add using declarationsJacques Lucke
2021-09-22BLI: avoid warning when copying empty StringRefJacques Lucke
2021-09-22BLI: initialize MutableSpan in default constructorJacques Lucke
2021-09-22Geometry Nodes: fix evaluating field to spanJacques Lucke
2021-09-22Cleanup: Themes: Remove invalid theme optionAaron Carlisle
`font_kerning_style` was removed in rBa1e91fbef3dc9a5d5c8456cd9a887aac1bdb652c
2021-09-22Fix T91608: Cycles crash with tile size 0Brecht Van Lommel
2021-09-22Fix T91598: Decreasing sample count causes viewport to resetSergey Sharybin
Differential Revision: https://developer.blender.org/D12601
2021-09-22UI: Add description for Batch renameChandrapal Singh
Added description for Batch rename which pop-ups when hovering the mouse over "Batch rename" inside the edit menu. Fixes T91390 Reviewed By: Blendify Maniphest Tasks: T91390 Differential Revision: https://developer.blender.org/D12594
2021-09-22Fix T91592: Negative Cycles remaining render timeSergey Sharybin
For the default startup was showing -14:-08.-48 as a remaining time. Was an integer overflow when specifying total number of pixel-samples.
2021-09-22Fix T91603: Cycles crash when volume becomes visibleSergey Sharybin
Making object which uses volume shader invisible will mark the shader as not having a volume, forcing re-compilation of the shader to bring it back to a consistent state. The compilation is happening as part of scene update, which needs to know kernel features. So there is a feedback loop. Use more relaxed way of knowing whether there is a volume in the shader for the kernel features, which doesn't require shader to be compiled first. Solves issues from the report, but potentially causes extra memory allocated if the volume part of graph is fully optimized out. This downside is solvable, but would need to split scene update into two steps (the one which requires on kernel, and the one which does not). It will be an interesting project to tackle, but for a bug fix is better to use simpler solution.
2021-09-22Fix T91576: Cycles attribute node with name N for smooth normal no longer ↵Brecht Van Lommel
working There was an optimization to remove duplicate storage of normals as attributes when using normal maps. However for named attributes like this we still need to store the attribute. Don't request normal attribute from the normal map node now, instead of skipping it in the geometry code.
2021-09-22GPencil: Fix unreported missing material panel for new SceneAntonio Vazquez
When a new scene is created, the paint pointers are not available before using them, so the python panel exits because the pointer was None. Now, the pointer is checked in order to display the materials panel as expected.
2021-09-22Initial implementation of local ID re-use when appending.Bastien Montagne
This commit adds to ID struct a new optional 'weak reference' to a linked ID (in the form of a blend file library path and full ID name). This can then be used on next append to try to find a matching local ID instead of re-making the linked data local again. Ref. T90545 NOTE: ID re-use will be disabled for regular append for the time being (3.0 release), and only used for assets. Therefore, this commit should not change anything user-wise. Differential Revision: https://developer.blender.org/D12545
2021-09-22Cleanup: make formatDalai Felinto
2021-09-22Geometry Nodes: Curve Fillet Nodedilithjay
This node can be used to fillet splines at control points to create a circular arc. The implementation roughly follows T89227's design. The node works in two main modes: Bezier and Poly * Bezier: Creates a circular arc at vertices by changing handle lengths (applicable only for Bezier splines). * Poly: Creates a circular arc by creating vertices (as many as defined by the Count fields input) along the arc (applicable for all spline types). In both modes, the radius of the created arc is defined by the Radius fields input. The Limit Radius attribute can be enabled to prevent overlapping when the defined radius exceeds the maximum possible radius for a given point. Reviewed By: Hans Goudey Differential Revision: https://developer.blender.org/D12115
2021-09-22Fix T91590: Cycles specular baking not using smooth normalBrecht Van Lommel