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-09-10Modifiers: export motion blur velocity through attributeBrecht Van Lommel
Previously fluid simulation and Alembic modifiers had a dedicated function to query the velocity for motion blur. Now use a more generic system where those modifiers output a velocity attribute. Advantages: * Geometry and particle nodes can output velocity through the same mechanism, or read the attribute coming from earlier modifiers. * The velocity can be preserved through modifiers like subdivision surface or auto smooth. * USD and Alembic previously only output velocity from fluid simulation, now they work with velocity from other sources too. * Simplifies the code for renderers like Cycles and exporters like Alembic and USD. This breaks compatibility: * External renderers and exporters accessing these velocities through the Python API now need to use the attribute instead. * Existing modifier node setups that create an attribute named "velocity" will render differently with motion blur. Differential Revision: https://developer.blender.org/D12305
2021-09-10Add missing bit to own previous commitJulian Eisel
Amendment to 7a5216497cc3. Removed this before committing, because I thought it wasn't needed. Of course it was...
2021-09-10Python: extra check on `BPY_thread_save()` to ensure proper GIL handlingSybren A. Stüvel
Use `_PyThreadState_UncheckedGet()` to check that the current thread is tracked by Python before checking whether it has the GIL. The latter will abort when the former is false.
2021-09-10Cleanup: Fix comment in recent commit.Jeroen Bakker
A task is created for each item in a list base. It used to say that a thread was created for each item.
2021-09-10Fix possible crash displaying asset preview from current fileJulian Eisel
For some reason the asset preview isn't created or loaded correctly in some instances. This could be addressed with D9974, but hard to tell since I only have a failing .blend file, no steps to recreate it from scratch. Would crash when opening an Asset Browser, selecting an object asset (that has an invalid preview stored) and opening the Asset Browser sidebar, so that the preview is visible there.
2021-09-10T78995: Enable keylist threaded drawing.Jeroen Bakker
This enabled multithreaded building of the keys that needs to be drawn in the timeline (and other action editors). On an AMD Ryzen 3800 using a mocap data test file (available in patch) the performance went from 2fps to 8fps. The performance increase depends on the number of rows of keyframes that is shown in for example the timeline editor. Each row will be using a different thread. Currently the bottleneck is the summary channel that we could split up in the future even more ( although that is a complex refactoring work). Reviewed By: sybren Differential Revision: https://developer.blender.org/D12198
2021-09-10BLI: Add Cycles compatible Perlin noiseOmar Emara
This patch adds new Perlin noise functions to BLI. The noises are compatible with the shading texture noises in EEVEE, SVM, and OSL. The existing Jenkins hash functions couldn't be used because they are not compatible with the shading implementations and an attempt at adjusting the implementation will break compatibility in various areas of Blender. So the simplest approach is to reimplement the relevant hashing functions inside the noise module itself. Additionally, this patch also adds a minimal float4 structure to use in the interface of the noise functions. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D12443
2021-09-10Anim: Keylist drawing optimization by using arrays.Jeroen Bakker
Change data structure of keylists. Reducing the balancing overhead and therefore increases performance. | **Function** | **Master** | **Patch** | |`draw_summary_channel`| 0.202105s| 0.083874s | When adding items to the keylist it will store it in a linked list. This linked list is accompanied with the length (key_len) and a `last_accessed_column`. last_accessed_column is a cursor that improve the performance when adding new items as they are mostly ordered by frame numbers. last_accessed_column is reset when a new fcurve/mask/... is added to the keylist. Before searching or array access. the listbase needs to be converted to an array. `ED_keylist_prepare_for_direct_access`. After that the caller can use `ED_keylist_find_*` or `ED_keylist_array*` functions. The internal array can also be accessed via the `ED_keylist_listbase` function. The items inside the array link to the previous/next item in the list. Reviewed By: sybren Differential Revision: https://developer.blender.org/D12052
2021-09-10Templates: remove masking layers from the default startup fileCampbell Barton
Remove sculpt mask layer from the default cube, added in 444934632a8d8e239bc0c6d79a638ec0943152a6.
2021-09-10Depsgraph: release GIL when evaluating the depsgraphSybren A. Stüvel
Evaluating the dependency graph potentially executes Python code when evaluating drivers. In specific situations (see T91046) this could deadlock Blender entirely. Temporarily releasing the GIL when evaluating the depsgraph resolves this. This is an improved version of rBfc460351170478e712740ae1917a2e24803eba3b, thanks @brecht for the diff! Manifest task: T91046
2021-09-10Link/Append: Fix unreported obdata being instantiated even when already used ↵Bastien Montagne
by linked/appended data. Do not instantiate obdata when it is not actually loose.
2021-09-10Update command line argument description for --addonsJon Denning
Changed doc string for Blender `--addons` command line argument to explain what it does rather than just describing what it expects. Reviewed By: Blendify Ref D12445
2021-09-10XR: Re-enable SteamVR OpenGL backend for AMD gpusPeter Kim
Addresses T76082. Since the DirectX backend does not work for AMD gpus (wglDXRegisterObjectNV() fails to register the shared OpenGL-DirectX render buffer, displaying a pink screen to the user), the original solution was to use SteamVR's OpenGL backend, which, as tested recently, seems to work without any issues on AMD hardware. However, the SteamVR OpenGL backend (on Windows) was disabled in fe492d922d6d since it resulted in crashes with NVIDIA gpus (and still crashes, as tested recently), so SteamVR would always use the AMD-incompatible DirectX backend (on Windows). This patch restores use of the SteamVR OpenGL backend for non-NVIDIA (AMD, etc.) gpus while maintaining the DirectX workaround for NVIDIA gpus. In this way, issues are still resolved on the NVIDIA side but AMD users can once again use the SteamVR runtime, which may be their only viable option of using Blender in VR. Reviewed By: Julian Eisel Differential Revision: https://developer.blender.org/D12409
2021-09-09Revert "Depsgraph: release GIL when evaluating the depsgraph"Brecht Van Lommel
It is causing crashes in rendering, when releasing the GIL in render threads while the main thread is holding it. Ref T91046 This reverts commit fc460351170478e712740ae1917a2e24803eba3b.
2021-09-09Fix T90317: Confusing File Browser PreferencesHarley Acheson
Preferences / File Browser section made less confusing. See D12436 for details and comparisons. Differential Revision: https://developer.blender.org/D12436 Reviewed by Campbell Barton and Julian Eisel
2021-09-09Fix T88755: Reuse Temp Windows by Type not TitleHarley Acheson
Reuse temporary windows when they share the same single area type, not because they share the same title. See D12401 for more details. Differential Revision: https://developer.blender.org/D12401 Reviewed by Campbell Barton
2021-09-09Fix compiler warnings about virtual functions but non-virtual destructorBrecht Van Lommel
2021-09-09DNA: allow initializing defaults for deprecated struct membersBrecht Van Lommel
This can be useful for better forward compatibility.
2021-09-09Geometry Nodes: Allow exposing color sockets to the modifierHans Goudey
This commit allows connecting color sockets to the group input and changing the input values in the modifier. Before there was an error since this was more complicated to support with the previous IDProperty UI data storage method. Differential Revision: https://developer.blender.org/D12437
2021-09-09Depsgraph: release GIL when evaluating the depsgraphSybren A. Stüvel
Evaluating the dependency graph potentially executes Python code when evaluating drivers. In specific situations (see T91046) this could deadlock Blender entirely. Temporarily releasing the GIL when evaluating the depsgraph resolves this. Calling the `BPy_BEGIN_ALLOW_THREADS` macro is relatively safe, as it's a no-op when the current thread does not have the GIL. Developed in collaboration with @sergey Manifest task: T91046
2021-09-09Cleanup: clarify comment about the use of `_PyThreadState_UncheckedGet()`Sybren A. Stüvel
No functional changes.
2021-09-09Geometry Nodes: fields and anonymous attributesJacques Lucke
This implements the initial core framework for fields and anonymous attributes (also see T91274). The new functionality is hidden behind the "Geometry Nodes Fields" feature flag. When enabled in the user preferences, the following new nodes become available: `Position`, `Index`, `Normal`, `Set Position` and `Attribute Capture`. Socket inspection has not been updated to work with fields yet. Besides these changes at the user level, this patch contains the ground work for: * building and evaluating fields at run-time (`FN_fields.hh`) and * creating and accessing anonymous attributes on geometry (`BKE_anonymous_attribute.h`). For evaluating fields we use a new so called multi-function procedure (`FN_multi_function_procedure.hh`). It allows composing multi-functions in arbitrary ways and supports efficient evaluation as is required by fields. See `FN_multi_function_procedure.hh` for more details on how this evaluation mechanism can be used. A new `AttributeIDRef` has been added which allows handling named and anonymous attributes in the same way in many places. Hans and I worked on this patch together. Differential Revision: https://developer.blender.org/D12414
2021-09-09Cleanup: Readfile: cleanup some logic checks.Bastien Montagne
2021-09-09IDmanagement: makelocal: Fix mistake in recent commit.Bastien Montagne
rB8cc3d2d6f51f introduced option to force make_local code to either copy or actually make a linked ID local, but logic of boolean options handling was broken. This commit simplifies logic here and fixes the issue. NOTE: Since those new options were not used yet this was a harmless bug.
2021-09-09Fix FONT objects cannot use Object Font anymorePhilipp Oeser
Mistake in {rB459974896228}. To use Object Fonts, (vertex) instancing needs to be enabled. So bring back the instancing panel and improve the instancing choice (similar to rB6c0c766bcaa0) by just giving the 'Vertex' choice (or 'None') and explain this is only used for Object Fonts on characters. Was reported in D11348 itself. Differential Revision: https://developer.blender.org/D12438
2021-09-09Fix typo in BKE_object_as_kdtreePhilipp Oeser
Seems like an oversight in {rB86635402d516}? Stumbled over this while investigating another report, but this line in its current form does not make sense (was taking derivedFinal - not derivedDeform - prior so I assume this has to be BKE_object_get_evaluated_mesh now). (it is now only used for vertex parenting where this should not be an issue, but best keep this generic). Differential Revision: https://developer.blender.org/D12425
2021-09-09Fix typo checking empty gizmo keymapCampbell Barton
2021-09-09Cleanup: remove newlines from logging textCampbell Barton
Line endings are already added.
2021-09-09Fix smooth-view failure to add mouse-move eventsCampbell Barton
View operations that left the cursor over a gizmo were not being updated because the mouse-move event was added while the view was animated instead of once the animation had completed. Mouse-move events were also missing when smooth-view was disabled. This fixes a glitch with the 3D view navigation gizmo where multiple clicks on the view aligned axis failed to switch to the opposite side unless the user moved the cursor between clicks.
2021-09-09Modifier: add support for vertex groupsMaxime Casas
Allow blending the imported cache with the modifiers stack above the MeshCache modifier. This is particularly useful for instance when dealing with cloth simulations performed in another software, where some parts of the cloth are completely pinned (non-simulated, following the armature). Indeed, this would allow modifying the animation in some areas without having to rebake the other parts or the cloth, resulting in a much more flexible workflow. Reviewed By: #modeling, campbellbarton, mont29 Ref D9898
2021-09-09Gizmo: warn when 2D projection fails with non-invertable matricesCampbell Barton
Add a warning to quickly pinpoint the problem. This would have simplified tracking down this problem in D12105.
2021-09-09Fix: Incorrect default for exposed geometry nodes vectorsHans Goudey
2021-09-09Fix GPU Buffer not allowing uint values greater than one byteGermano Cavalcante
Error in format passed in `PyArg_Parse`
2021-09-08Fix T91255: IDProperty UI as_dict() returns step as default valueHans Goudey
Another typo in this section of code.
2021-09-08VSE: Adding a panning angle for multichannel audio.Jörg Müller
The panning angle allows a more intuitive panning when the output is surround sound. It sets the angle on the horizontal plane around the listener. 0 degrees is to the front, negative values go to the left and positive ones to the right. +/-180 degrees is directly from the back. Technical detail: the panning value is linear with the panning angle with a factor of 90 degrees. For stereo this means that -1 is left and +1 right, since the speakers are exactly 90 degrees to either side. Differential Revision: https://developer.blender.org/D12275
2021-09-08Fix T91241: wrong labels and identifiers for id socketsJacques Lucke
`nodeAddSocket` expects the name and identifier in a different order.
2021-09-08USD import: remove unused files.Michael Kowalski
Removed unused usd_reader_instance.cc and .h files.
2021-09-08Cleanup: typedef enum for eImageType.Jeroen Bakker
2021-09-08Cleanup: typedef enum for eImageSource.Jeroen Bakker
2021-09-08Cleanup: consisten naming slot -> resolution.Jeroen Bakker
Makes naming consistent with image_gpu.c
2021-09-08Fix T90825: Performance texture painting with limited scale.Jeroen Bakker
Improve texture painting/uv editing performance when limited scale is active. Cause of the slow down is that the image editor draws the image in maximum resolution, but the 3d viewport uses the limited scale. The variation reuses the same GPU texture and needed to be uploaded/scaled twice to the GPU. This patch will adds texture slots that can hold the scaled down and the maximum resolution image. This would allow better cache hits and reuse of existing caches. Maximum resolution textures are reused for limited scale when they fit to reduce memory and CPU footprint. Reviewed By: fclem Differential Revision: https://developer.blender.org/D12388
2021-09-08Asset: Dropping Material assets on material slot under mouse cursor.Jeroen Bakker
This patch allows dropping material assets from material slot under the mouse cursor. Before this change the material slot had to be hand-picked from the properties panel. For consistency it is chosen to do this in any shading mode as the tooltip shows what is exactly going to happen during release. The feature also works for other object types than Meshes as it uses the drawn surface on the GPU to detect the material slots. Performance of this patch has been tested with AMD GCN3.0 cards and are very responsive. Reviewed By: fclem, Severin Differential Revision: https://developer.blender.org/D12190
2021-09-08Fix T91225: Quick Favorites and shortcuts are broken for some propertiesPhilipp Oeser
Caused by {rB3e4d720ae483}. Before above commit, this had a different path handling and RNA_path_from_ID_to_struct() was always used [which kind of took care of this]. Now this is only used if ptr represents an ID itself, so we are "loosing" part of the path. This patch adds the path back on the member_id in wm_context_member_from_ptr() for everthing related to space_data, so WM_context_path_resolve_property_full() can construct a full path even for these. Maniphest Tasks: T91225 Differential Revision: https://developer.blender.org/D12418
2021-09-08UI: Remove label of mode in Point Instance nodeHans Goudey
There isn't enough space for this label at the default node width, and it was obvious what the drop-down is doing anyway.
2021-09-08Cleanup: VSE select operatorRichard Antalik
Operator combines more features and it wasn't very transparent which properties are used in which feature and how they are used. Features linked_time, side_of_frame and linked_handle are isolated, logic moved into own function. deselect_all property was removed as it practically equals to !extend in all cases. Functional change: Dragging existing selection will not change active strip. Previously this could happen if click happened on strip that wasn't active. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12320
2021-09-08Fix T90967: Snapping not working with single stripRichard Antalik
Even if `snap_targets` `SeqCollection` is empty, there can be static snap points defined, so don't condition snapping on non-zero target count. Differential Revision: https://developer.blender.org/D12400
2021-09-07Animation: Implement generic slider in graph_slider_opsChristoph Lendenfeld
This patch implements the generic slider from `ed_draw.c` to the `GRAPH_OT_decimate` operator This draws a useful UI and enables precision mode and stepping Overshoot is disabled The status message is moved to the workspace footer Reviewed by: Sybren A. Stüvel Differential Revision: https://developer.blender.org/D9361 Ref: D9361
2021-09-07Cleanup: Move function to versioning_common.ccHans Goudey
2021-09-07Fix T91093: off by one error in when resampling curveJacques Lucke
The bug existed in the Curve Resample and Curve to Points node. Differential Revision: https://developer.blender.org/D12416
2021-09-07Fix T91219: Crash canceling scale keyframes in dope sheet grease pencilGermano Cavalcante
Caused by {rBb0d9e6797fb8} Ideally `td->loc` should always be set and point to a 3d array.