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-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 error running benchmark script with environment variables for buildsBrecht Van Lommel
Ref D12434
2021-09-08Tests: updates for performance benchmarkingBrecht Van Lommel
* Make "run" command (re-)run all tests, add "update" command to only run queued and outdated tests equivalent to the old "run" command. * Support specifying environment variables for revisions, to easily compare multiple parameter values. * Better sorting of revisions in graph.
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-08Fix non-exiting property in keymapRichard Antalik
In e6a1d488ab79 `deselect_all` property was removed from `sequencer.select` operator but some keymap items were missed, which was caught by tests by buildbot.
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.
2021-09-07Fix T91236: AssetBrowser crash with certain collectionsPhilipp Oeser
Caused by {rB5a9a16334c57} Linking/appending an asset made from a collection containing certain types of objects lacking bounding boxes (camera, light) would crash. Add simple bbox check to prevent the crash. Maniphest Tasks: T91236 Differential Revision: https://developer.blender.org/D12415
2021-09-07Fix T91238: crash when instancing geometry group inputJacques Lucke
2021-09-07ID management: add options to force make local or force copy IDs when making ↵Bastien Montagne
them local. This is to be used when calling code already knows whether the 'made local' linked ID should be copied, or can directly be converted to a local one. Currently unused , this is preparation for rewrite of append code.
2021-09-06GPencil: Change icons missing in previous commitAntonio Vazquez
It was missing to change the modifier itself, not only RNA enum list.
2021-09-06Fix T91187: incorrect socket identifierJacques Lucke
2021-09-06UI: Area Split and Join Mouse Cursor FeedbackHarley Acheson
This patch just changes the mouse cursor to a "stop sign" when dragging to an unsupported location during Join or Split operations. See D11396 for details and examples. Differential Revision: https://developer.blender.org/D11396 Reviewed by Campbell Barton
2021-09-06Geometry Nodes: support for geometry instancingJacques Lucke
Previously, the Point Instance node in geometry nodes could only instance existing objects or collections. The reason was that large parts of Blender worked under the assumption that objects are the main unit of instancing. Now we also want to instance geometry within an object, so a slightly larger refactor was necessary. This should not affect files that do not use the new kind of instances. The main change is a redefinition of what "instanced data" is. Now, an instances is a cow-object + object-data (the geometry). This can be nicely seen in `struct DupliObject`. This allows the same object to generate multiple geometries of different types which can be instanced individually. A nice side effect of this refactor is that having multiple geometry components is not a special case in the depsgraph object iterator anymore, because those components are integrated with the `DupliObject` system. Unfortunately, different systems that work with instances in Blender (e.g. render engines and exporters) often work under the assumption that objects are the main unit of instancing. So those have to be updated as well to be able to handle the new instances. This patch updates Cycles, EEVEE and other viewport engines. Exporters have not been updated yet. Some minimal (not master-ready) changes to update the obj and alembic exporters can be found in P2336 and P2335. Different file formats may want to handle these new instances in different ways. For users, the only thing that changed is that the Point Instance node now has a geometry mode. This also fixes T88454. Differential Revision: https://developer.blender.org/D11841
2021-09-06GPencil: Replace temp icons for final designAntonio Vazquez
New icons for LIneArt and Length modifier
2021-09-06make.bat: Fix missing quotes in python detectionAntonio Vazquez
2021-09-06Fix T90414: New GPencil iconsAntonio Vazquez
Designed by @mendio The new icons are: * Dot-Dash modifier * Length Modifier * Line Art modifier
2021-09-06Fluid: Parallelizations for Mantaflow functions (D12002)Erik Abrahamsson
This update includes part of a performance boost from D12002. Contributed by @erik85
2021-09-06Fluid: Clang-format cleanupsSebastián Barschkis
Just cleanup.
2021-09-06Nodes: fix incorrect id socket updateJacques Lucke
The issue was that the entire socket was rebuild, even though only its `SOCK_HIDE_LABEL` flag changed. This broke e.g. Object sockets from old files.
2021-09-06Fix crash drawing hair with older GPUs.Jeroen Bakker
Some GPU's have support for compute shaders, but don't support GLSL 4.3. This resulted in compiler errors and crashes. This issue could have been solved by supporting older GLSL languages but that would have been a hassle to get it right. We already have a fallback in place for GPU's that don't support compute shaders at all.
2021-09-06Division by zero when there are no lights and only emissive surfacesWilliam Leeson
When rendering the test scene in T79190 which has only emissive surfaces a division by zero occurs. This is a simple patch to remove this. Reviewed By: brecht Maniphest Tasks: T79190 Differential Revision: https://developer.blender.org/D11682
2021-09-06BLI: add default hash for shared_ptr and reference_wrapperJacques Lucke
This makes it easier to use these types as keys in Map, Set and VectorSet.