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
path: root/source
AgeCommit message (Collapse)Author
2021-10-19Fix T85779: Cycles not using all threads when using OpenImageDenoiseBrecht Van Lommel
The thread affinity setting in OIDN can break multithreading on some CPUs. While this leads to somewhat worse performance on CPUs that do work correctly, it's better than having some CPUs use only half the cores.
2021-10-19Cleanup: use 'e' prefix for enum typesCampbell Barton
2021-10-19BLI: Support removing keys from a set during iterationHans Goudey
This adds the ability to mark slots as removed while iterating through a mutable set. Differential Revision: https://developer.blender.org/D12867
2021-10-19Fix crash on file load in unregistering bke::AssetLibraryServiceCampbell Barton
Use mutable iterator to support callbacks removing themselves.
2021-10-19Fix memory leak in sample toolCampbell Barton
When there was no image buffer, sample leaked memory.
2021-10-19Fix image cache margin calculationCampbell Barton
This margin was inconsistently calculated: only taking the visible region and interface scale into account in some cases.
2021-10-19Geometry Nodes: De-duplicate index input nodes during evaluationHans Goudey
We do this in other nodes to reduce overhead of using the same node more than once. I don't think it will make a difference with index nodes currently, but at least it's consistent.
2021-10-19Fix: Build error with MSVCRay Molenkamp
noise.cc uses std::min and std::max without including the algorithm header required. Newer MSVC versions and GCC implicitly include it somewhere, which isn't something we should count on. Best to include what you use.
2021-10-19Fix T91979: Don't mark string nodes as supporting fieldsErik Abrahamsson
Even though these nodes do support fields internally, there are no input string sockets that support fields currently, so removing the diamond sockets for now helps avoid confusion. Differential Revision: https://developer.blender.org/D12828
2021-10-19Cleanup: remove unused member and rearrange functionGermano Cavalcante
2021-10-19VSE: Improve thumbnail loading speedRichard Antalik
Split thumbnail job in 2 passes. First pass will render visible images and second part renders set of "guaranteed" equally spaced images. When viewing larger amount of strips, it is likely that only 1 or 2 images will be rendered in first pass, while in second pass it is up to 30 images. This results (seemingly) in 3x better performance, but zooming before set of guaranteed images is done will be slightly more inaccurate.
2021-10-18VSE: Don't draw thumbnails while renderingRichard Antalik
During rendering VSE cache is invalidated, so thumbnails would be removed and thumbnail job would constantly restart. Even if thumbnails would be preserved, resources should be dedicated for rendering job.
2021-10-18Geometry Nodes: Sort Children in Collection InfoJohnny Matthews
When the 'Separate Children' option is selected, the children of the selected collection are inserted into the geometry output sorted alphabetically by name. One item to note is that the rename function does not trigger a depsgraph update. This means that the changes are not reflected in the spreadsheet until another action triggers the update. Differential Revision: https://developer.blender.org/D12907
2021-10-18Cleanup: Remove unnecessary constructor argumentHans Goudey
All attributes should be writeable, it is now only needed for the legacy `normal` attribute on meshes.
2021-10-18Geometry Nodes: Optimize curve builtin attribute exists checkHans Goudey
Calculating the number of points is overkill here, if there are many splines. The `exists` check just needs to know if there are any points at all.
2021-10-18Cleanup: Rearrange code, rename functionHans Goudey
Move the static functions higher in the file so they are usabl for an upcoming patch, and make it use clearer names instead of overloading a function name.
2021-10-18Fix T92314: Auto naming of the Vertex Group doesn't work for GreasePhilipp Oeser
Pencil Not naming the auto-generated vertexgroup after the selected bone was just confusing (since the group would not have an effect), so now use similar code that is used for meshes for greasepencil as well. Maniphest Tasks: T92314 Differential Revision: https://developer.blender.org/D12906
2021-10-18Cleanup: use a common prefix in static functionsGermano Cavalcante
This helps identify where the function came from.
2021-10-18Fix 1 frame delayed orientation in Placement GizmoGermano Cavalcante
Error in {rB69d6222481b4}
2021-10-18Fix failing `AssetLibraryService` test by removing test codeSybren A. Stüvel
Remove the code I had hoped to fix in rB3edae09e, the fix was unreliable. No functional changes to Blender.
2021-10-18Cleanup: Use simpler method to create attribute lookupsHans Goudey
Instead of switch statements, make use of generic virtual arrays so the code is shorter and easier to read. Differential Revision: https://developer.blender.org/D12908
2021-10-18Cleanup: clang formatPhilipp Oeser
2021-10-18Fix T92246: sculpt crash displaying statistics in certain situationsPhilipp Oeser
It seems possible to switch object selection (if `Lock Object Modes` is turned off) and end up with an object that has a SculptSession but a NULL PBVH. (I was not able to repro from scratch, but file from the report was clearly in that state). This would crash in displaying scene statistics. While there might be a deeper fix (making sure PBVH is available early enough -- possibly using `BKE_sculpt_object_pbvh_ensure`, `sculpt_update_object` or friends), there are also many checks in tools for PBVH, so the situation seems to be somewhat vaild/expected also in other places. So to fix this, just check for a non-NULL PBVH, returning early otherwise. Note: this leaves us with displaying 0/0 Faces & Vertices in the borked case until an operation takes place that updates the PBVH. Maniphest Tasks: T92246 Differential Revision: https://developer.blender.org/D12904
2021-10-18Fix T92311: Snap to faces in edit mode with x-ray enabled doesn't workGermano Cavalcante
The `use_occlusion_test` parameter test was accidentally removed in {rB91c33c8b9952}
2021-10-18Fix: dangling pointer caused use-after-freeJacques Lucke
The old code only worked when built-in nodes are only unregistered at most once while Blender is running. However, this is not the case when running certain unit tests such as `AbstractHierarchy*` in `blender_test`. Found by Sybren, thanks.
2021-10-18UI: Reduce vertical margin between panelsPablo Vazquez
In an attempt to reduce scrolling. This can be re-visited if a kind of switch between "compact" and "comfortable" UI size is implemented in the future.
2021-10-18Asset Library Service: fix failing unit testSybren A. Stüvel
On GCC in release mode (and maybe also debug mode without ASAN enabled), allocating an `AssetLibraryService` will reuse the space that should have just been freed. This made a test fail, as it was testing that new memory was allocated and not some old instance reused. To ensure that the calls that should allocate a new block of memory return a unique pointer, I added some dummy allocation to the test. No functional changes to Blender
2021-10-18Geometry Nodes: Add shader Musgrave texture nodeCharlie Jolly
Port shader node musgrave texture Differential Revision: https://developer.blender.org/D12701
2021-10-18Nodes: support sharing node declarations between nodesJacques Lucke
Previously, every node had its own declaration. This isn't ideal, because it's often the case that all nodes of the same type have the same declaration. That's the case for all nodes using declarations currently. It will not be true for e.g. group nodes in the future. Sharing node declarations between nodes makes it a bit more efficient. Differential Revision: https://developer.blender.org/D12898
2021-10-18Fix T92250 EEVEE: Render crash with Motion Blur and OverscanClément Foucault
This was caused by `DRW_view_data_texture_list_size_validate` which now delete everything from the render engine. This might change in the future but for now we just avoid calling it from the render loop (when using DRW_cache_restart).
2021-10-18Fix T79005: Vertex color conversion operators changing the colorsPablo Dobarro
CD_PROP_COLOR vertex data is stored in scene linear while legacy vertex colors are srgb, so both operators also need to do this conversion Reviewed By: sergey Maniphest Tasks: T79005 Differential Revision: https://developer.blender.org/D8320
2021-10-18Animation: Motion Paths Refresh AllJan-Willem van Dronkelaar
Adds a button, Update All Paths, to the Motion Paths property tabs and will always show. The operator goes through all visible objects and updates their motion paths. The current implementation has a subtle functional change. Calculating or updating motion paths for armature objects (through the Object tab, not Armature tab) now also updates the paths for its bones. We could preserve the old behavior but it doesn't seem necessary. It seems more likely that the animator wants to update both anyways. Reviewed by: sybren Maniphest Tasks: T83068 Differential Revision: https://developer.blender.org/D11667
2021-10-18Assets: add global `bke::AssetLibraryService` classSybren A. Stüvel
Add `blender::bke::AssetLibraryService` class that acts like a blendfile-scoped singleton. It's allocated upon the first call to `BKE_asset_library_load` and destroyed in the LOAD-PRE handler. The `AssetLibraryService` ensures that edits to asset catalogs are not lost when the asset browser editor closes (or even reloads). Instead, the `AssetLibrary` pointers it owns are kept around as long as the blend file is open. Reviewed By: Severin Maniphest Tasks: T92151 Differential Revision: https://developer.blender.org/D12885
2021-10-18Geometry Nodes: Endpoint Selection NodesJohnny Matthews
The Endpoint Selection node allows for the Selection of an aribitrary number of endpoints from each spline in a curve. The start and end inputs are evaluated on the spline domain. The result is outputted as a boolean field on the point domain. Differential Revision: https://developer.blender.org/D12846
2021-10-18Fix: missing use-attribute property in geometry nodes modifierJacques Lucke
The property was missing when a group input changed from not supporting fields to supporting fields.
2021-10-18Nodes: add default value to string socket declarationErik Abrahamsson
Differential Revision: https://developer.blender.org/D12758
2021-10-18Geometry Nodes: decouple multi-function lifetimes from modifierJacques Lucke
Previously, some multi-functions were allocated in a resource scope. This was fine as long as the multi-functions were only needed during the current evaluation of the node tree. However, now cases arise that require the multi-functions to be alive after the modifier is finished. For example, we want to evaluate fields created with geometry nodes outside of geometry nodes. To make this work, `std::shared_ptr` has to be used in a few more places. Realistically, this shouldn't have a noticable impact on performance. If this does become a bottleneck in the future, we can think about ways to make this work without using `shared_ptr` for multi-functions that are only used once.
2021-10-18Fix T91700: Strips can be transformed in scope display modesCampbell Barton
Hide gizmos & prevent transform & selection in scope display.
2021-10-18Cleanup: use depends-on-cursor for "Object Transfer Mode" operatorCampbell Barton
Replace modal operator with the OPTYPE_DEPENDS_ON_CURSOR flag. This has the advantage of showing the shortcut in the menu.
2021-10-18WM: support setting the operators idle cursorCampbell Barton
Support setting a cursor when an operator is waiting for input.
2021-10-18UI: expose additional cursors to the Python APICampbell Barton
2021-10-18Cleanup: de-duplicate operator registrationCampbell Barton
Operators and operator-macros duplicated RNA properties.
2021-10-18Snap and Placement Gizmo RefactorGermano Cavalcante
Move most of the gizmo snap and placement code to `view_cursor_snap.c`. Simplify and extend the snap API. Differential Revision: https://developer.blender.org/D12868
2021-10-18Fix frame overlay not refreshing the sequencer previewCampbell Barton
Regression in 46aa70cb486d719139ac43e5c9ac4b0fe998e202
2021-10-18Cleanup: internal sequencer naming for overlaysCampbell Barton
- Rename RNA SpaceSeq.show_strip_overlay to show_overlays matching the 3D View, the term "strip" was misleading as this is used for the preview as well. - Rename various RNA overlay settings to overlay_frame since "Frame Offset" is a specific feature, avoid having both Editor.show_overlay and SpaceSeq.show_overlays. - Rename Editing `over_*` -> `overlay_frame_*` in DNA, as well as flags.
2021-10-18Cleanup: spelling in commentsCampbell Barton
2021-10-17UI: Improve contrast on playheadPablo Vazquez
Add an outine around the playhead, matching the color of the background (slightly darkened) to improve the readability of the current frame line when placed against curves or strips with a similar color. {F10944336, size=full} Differential Revision: https://developer.blender.org/D12810
2021-10-17UI: Adjust header color when active instead of inactivePablo Vazquez
Currently, the background color of headers gets darkened when the editor is not active, this makes it hard to theme, and adds contrast/noise when it's not needed. This patch makes headers use the regular theme color when the editor is not active, so it can be made to flush with the background more easily. And lightens the header (by +10, same value as before) when the editor is active, providing the wanted highlight. The motivations behind this change are: * Simplify picking a theme color for headers. * Widgets already become lighter on mouse hover, this change creates a connection with that concept. Left: current master, inactive header is darkened. Right: this patch, inactive header gets the theme color, active editor gets header in a slightly lighter color (like most widgets) {F11052503, size=full, loop, autoplay} Reviewed By: #user_interface, HooglyBoogly Differential Revision: https://developer.blender.org/D12856
2021-10-17UI: Visual style update to panelsPablo Vazquez
Back in Blender 2.30, the GUI project brought panels into Blender among other important visual updates. For the first time it was possible to move the wall of buttons around. Providing a clear separation between sections (it even allowed the grouping of panels in tabs!) During the 2.5 redesign, the separation between panels became a line on top of each panel, and panels received theme settings for background and header colors. The default theme used the same color for both. In 2.8 the background color of panels was different from headers in the default theme, so the separator line was removed. While the separator line wasn't elegant (only on top, non-themeable, hard-coded emboss effect), it provided a sort of separation between panels. This patch solves the panels-separation by simply adding a margin space around them (not visible in default theme yet). Even though the margin reduces the width of the working area slightly, it makes room for the upcoming always-visible scrollbars. Other adjustments: * Use arrow icon instead of triangle to collapse/expand * Use rounded corners to match the rest of the UI (editor corners, nodes, etc). {F10953929, size=full} Margin on panels makes use of the `style->panelouter` property that hasn't been used in a while. Also slight tweaks to `boxspace` and `templatespace` style properties so they are multiples of 2 and operations on them round better. There is technically no need to update the themes for them to work, so no theme changes are included in this patch. {F10953931, size=full} {F10953933, size=full} {F10953934, size=full} {F10954003, size=full} ---- A new theme setting under Style controls the roundness of all panels (added it to Style instead of ThemeSpace because I think controlling the panel roundness per editor is a bit overkill): {F11091561, size=full, autoplay, loop} Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D12814
2021-10-17Geometry Nodes: bring back lazy evaluation for field types in Switch nodeJacques Lucke
Differential Revision: https://developer.blender.org/D12878