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-27Fix T90570: Constraint validity not updated with library overrides.Bastien Montagne
For some reason was assuming setting a property in RNA would call its update callback if any, but this actually needs to be done separately. So add this call to `rna_property_override_operation_apply`.
2021-09-27RNA: Make is clear that `Scene` parameter of `update` callback may be NULL.Bastien Montagne
There are cases where there is no way to ensure we do have/know about an active scene. Further more, this should not be required to perform 'real' updates on data, only to perform additional special handling in current scene (mostly related to editing tools, UI, etc.). This pointer is actually almost never used in practice, and half of its current usages are fairly close to abuse of the system (like calls to `ED_gpencil_tag_scene_gpencil` or `BKE_rigidbody_cache_reset`). This commit ensures that the few places using this 'active scene' pointer are safely handling the `NULL` case, and clearly document the fact that a NULL scene pointer is valid.
2021-09-27RNA: Fix bad usages of `scene` pointer in Update callbacks.Bastien Montagne
Scene passed to the update callback is the active scene it //may// not be that actual ID owner of the affected data (although in practice it should always be currently).
2021-09-27Geometry Nodes: make field links thinner than other linksJacques Lucke
This makes it easier to spot which links contain fields and which contain data. Actually, the patch makes all other links a bit thicker. However, with soon-to-be-implemented theme changes, the perceived thickness will be the same as before. This is part of T91563. Differential Revision: https://developer.blender.org/D12646
2021-09-27Increase VSE strip channels limit from 32 to 128Dalai Felinto
The original limit dates back from 2002 when Blender went open source. After that many years some productions (e.g., Sprite Fright) are already experiencing limitations for complex edits. The future plans is to support an initial shorter (2?) number of channels with support to "unlimited" channels. Finally, I'm bumping the minimum file requirement since files with more than 32 channels won't work well in old Blender versions. In a future commit I will implement a sanitization so that we only read (and write) 128 channels. Making sure future changes of this number won't corrupt Blender. Differential Revision: https://developer.blender.org/D12645
2021-09-27VSE: Clamp resulting frame in multiply modePeter Fog
The clamp added will ensure immediate speed direction change on changing to/from positive/negative speed factor when using the Speed effect strip's Multiply mode. Reviewed By: ISS, sergey Differential Revision: https://developer.blender.org/D12462
2021-09-27Fix viewport roll working wrongPhilipp Oeser
Mistake in own {rB69893ef27c91}. Was mixing screen on region coordinates.
2021-09-27Cleanup: spelling in commentsCampbell Barton
2021-09-27Cleanup: remove unnecessary use of MEM_SAFE_FREE macroCampbell Barton
2021-09-27Fix T81922: Pose bones F-Curves hidden for unselected objectsCampbell Barton
Whilst in pose-mode, the selection filter only includes other objects in pose-mode instead of the object selection. This makes sense as the selection of the pose bones what the user as acting on in the 3D view. The object selection only makes sense to use in object mode. Reviewed By: sybren Maniphest Tasks: T81922 Ref D12494
2021-09-27Cleanup: Move asset library remove function next to add functionJulian Eisel
Better to keep such related operations close together in code.
2021-09-27Cleanup: Remove function declaration without definitionJulian Eisel
There is no function definition for this declaration. Instead there is `BKE_preferences_asset_library_remove()`.
2021-09-273DView: ability to cancel out of viewport rollPhilipp Oeser
This adds the ability to cancel out of the roll using ESC or RMB (which is not common for viewops -- but makes sense in the case of roll I think). This resets the view as well as potential locked cameras to the original orientations (but does not remove potential autokeys -- which no transform does on cancel btw.) Maniphest Tasks: T89883 Differential Revision: https://developer.blender.org/D12582
2021-09-273DView: Use "real" angle for viewport rollPhilipp Oeser
Since its introduction in {rB5c569d227b64}, the view roll was based on horizontal movement only. Using a "real" angle not only feels more natural but also has the benefit of getting more precission the further away from the center you are (just like regular rotation, brush/stencil rotation etc.). A similar thing has already been implemented in the Grease Pencil Tools Addon, now make the blender standard roll the same. Since this is not using the transform system, we are still lacking a line in the viewport (this could be added but since this is always based on the center of the view we dont necessarily need this), as well as the additional Shift-extra-precission behavior. Fixes T89883 Maniphest Tasks: T89883 Differential Revision: https://developer.blender.org/D12582
2021-09-27Fix T91711: Blender 3.0 - The Rain demo scene breaks (Proxy to Override auto ↵Bastien Montagne
conversion). Proxy conversion is a fairly particular case of liboverride creation, in which remapping all local usages of linked data probably makes more sense, rather than only doing so whitin the overridden 'group' of IDs.
2021-09-27Kernel: allow unregistering BKE callback functionsSybren A. Stüvel
Introduce `BKE_callback_remove()`, which undoes the effect of `BKE_callback_add()`. It also respects `funcstore->alloc` by freeing the removed `funcstore` when needed. This allows for shorter-lived objects in memory to unregister their callbacks at the end of their lifespan. `BKE_callback_global_finalize()` has been adjusted so that the responsibility "remove a callback" is given to one function only. Reviewed by: campbellbarton Differential Revision: https://developer.blender.org/D12625
2021-09-27Geometry Nodes: new Instance on Points nodeJacques Lucke
This adds a new Instance on Points node that is a replacement for the old Point Instance node. Contrary to the old node, it does not have a mode to instance objects or collections directly. Instead, the node has to be used with an Object/ Collection Info to achieve the same effect. Rotation and scale of the instances can be adjusted in the node directly or can be controlled with a field to get some variation between instances. The node supports placing different instances on different points. The user has control over which instance is placed on which point using an Instance Index input. If that functionality is used, the Instance Geometry has to contain multiple instances that can are instanced separately. Differential Revision: https://developer.blender.org/D12478
2021-09-27Geometry Nodes: support outputting collection children as instancesJacques Lucke
This adds two new input sockets to the Collection Info node: * `Separate Children`: When turned off, the entire collection is output as a single collection instance (same behavior as before). When turned on, each child of the collection is output as a separate instance (children can be objects and collections). Toggling this input should not change the visual transforms of the output geometry. * `Reset Children`: Only used when `Separate Children` is on. When used, the transforms of the instances are reset to the origin. This is useful when one wants to e.g. instance the collection children separately in the upcoming instancing node. Part of D12478.
2021-09-27Fix: wrong socket shape in Vector input nodeJacques Lucke
2021-09-27Fix knife tool missing refresh changing the lock axesCampbell Barton
2021-09-27Fix knife tool using an invalid event value checkCampbell Barton
The events value was checked without checking the expected modal state.
2021-09-27FIX: T91697 Eevee Generated texture coordinates completly missingLasse Foster
This patch fixes Eevee-regression https://developer.blender.org/T91697 Reviewed By: jbakker Differential Revision: https://developer.blender.org/D12634
2021-09-27Fix T91694: VSE crashes when creating new sceneRichard Antalik
Crash happened due to NULL dereference. Add NULL checks.
2021-09-27Functions: fail early when multi-function throws an exceptionJacques Lucke
Multi-functions are not allowed to throw exceptions that are not caught in the same multi-function. Previously, it was difficult to backtrack a crash to a previously thrown exception.
2021-09-27Cleanup: simplify field evaluationJacques Lucke
2021-09-27Fix T91732: crash in Set Position node on empty meshJacques Lucke
2021-09-27Knife: Expose XYZ axis locking in modal keymapCian Jinks
A small quality of life improvement that will allow users to change the keys used for axis locking.
2021-09-26LineArt: Smooth tolerance value for chaining.YimingWu
smooth out jaggy lines with a given threshold. For each point in a stroke, the ones with in a given distance of its previous segment will be removed, thus "zig-zag" artefacts can be cleaned up. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12050
2021-09-25Cleanup: use override/final for derived classes.Kévin Dietrich
This will help detecting missing API changes. Those keywords were added on classes which did not already use them. Also added missing `accepts_object_type()` on NURBS reader.
2021-09-25Fix Alembic point cloud streaming.Kévin Dietrich
Point clouds are not imported and read anymore. This was caused by an API change in rB128eb6cbe928e58dfee1c64f340fd8d663134c26 which was not applied to `AbcPointsReader`. It did not cause a compile error as the base class as a default implementation for this method.
2021-09-25Cleanup: typos in code and comments.Kévin Dietrich
No functional changes.
2021-09-24Fix T91662: VSE Image overlay is drawn for backdropRichard Antalik
Don't draw image overlay in timeline, image manipulation only works in preview.
2021-09-24Geometry Nodes: Add versioning and legacy warning for random float nodeHans Goudey
2021-09-24Geometry Nodes: Random Value NodeJohnny Matthews
This node replaces the deprecated Attribute Randomize node, populating a vector, float, integer or boolean field with random values. Vector, float, and integer have min/max settings, which are also field aware. The boolean type has a probability value for controlling what portion of the output should be true. All four types have a field seed input which is implicitly driven by the index, otherwise, all values would be the same "random" value. The Random Float node is now deprecated like other nodes, since it is redundant with this node. Differential Revision: https://developer.blender.org/D12603
2021-09-24Assets: Read catalogs immediately when loading a libraryJulian Eisel
Until now, the asset catalogs would only show up after all assets from the library were loaded. Now the catalogs are read first, which makes them appear pretty much immediately. This makes the UI more responsive and feel less heavy. I added a dedicated file-list type for asset libraries now. While not necessarily needed, I prefer that so asset library specific stuff can be handled in there.
2021-09-24Geometry Nodes: String to Curves NodeErik Abrahamsson
This commit adds a node that generates a text paragraph as curve instances. The inputs on the node control the overall shape of the paragraph, and other nodes can be used to move the individual instances afterwards. To output more than one line, the "Special Characters" node can be used. The node outputs instances instead of real geometry so that it doesn't have to duplicate work for every character afterwards. This is much more efficient, because all of the curve evaluation and nodes like fill curve don't have to repeat the same calculation for every instance of the same character. In the future, the instances component will support attributes, and the node can output attribute fields like "Word Index" and "Line Index". Differential Revision: https://developer.blender.org/D11522
2021-09-24Geometry Nodes: Special string characters nodeErik Abrahamsson
This patch adds a new node called "Special Characters" with two string outputs: "Line Break" and "Tab". This is necessary because the newline character cannot be easily typed with a keyboard, but is necessary for the string to curve node. Differential Revision: https://developer.blender.org/D12620
2021-09-24Nodes: initial support for socket tooltipsJohnny Matthews
This adds initial limited support for socket tooltips. It's limited in a couple of ways for now: * Only works when hovering over the socket shape, not when hovering over the value in the socket. * Only works for built-in nodes that already use the new node declaration system. This can later be extended to support pynodes. Those limitations are well worth it for now, given that the implementation is quite simple and the impact on usability is quite large. More complex updates to the layout system, that would allow showing socket tooltips in the nodes, can be done later. With the current implementation we can at least start writing tooltips for geometry nodes now. This commit already adds tooltips for the Cylinder node as an example. Differential Revision: https://developer.blender.org/D12607
2021-09-24Nodes: hide socket value when input is a field implicitlyJacques Lucke
2021-09-24Fix: field evaluation crash when the domain size is zeroJacques Lucke
2021-09-24Cleanup: UUID, add some documenting commentsSybren A. Stüvel
No functional changes.
2021-09-24GPencil: Reorganize list of modifiersAntonio Vazquez
As we have a now a new `Modify` column, we move some modifers to this column.
2021-09-24GPencil: Change Proximity distance properties to distance typeAntonio Vazquez
This keep consistency with mesh modifer.
2021-09-24GPencil: Invert weight in Weight Proximity modifierAntonio Vazquez
In meshes modifer the Lowest is 0 and Highest is 1.0 and this was working inverted for grease pencil. Now, it works equals to meshes modifier. Also changed the tooltip to keep consistency with meshes modifier.
2021-09-24Geometry Nodes: make index field more reusableJacques Lucke
Some inputs will be the index field implicitly, so we want this class to be available outside of `node_geo_input_index.cc`.
2021-09-24Fix T91240: Object duplication was duplicating its action twice.Bastien Montagne
Weird that this was not reported before, this was creating a lot of extra actions everytime...
2021-09-24Asset Catalogs: write catalogs sorted by path & UUIDSybren A. Stüvel
When writing asset catalog definition files, order the catalogs by (path, UUID). This ensures that every write produces the same file, playing nice with versioning / synchronisation systems.
2021-09-24UUID: add less-than operatorSybren A. Stüvel
Add `operator<` to C++ class to allow lexicographic ordering of UUIDs. This will be necessary when writing asset catalogs to disk in a predictable (i.e. ordered) manner.
2021-09-24Codestyle: Add brackets around body of if statements.Jeroen Bakker
2021-09-24Nodes: make dot in socket shape circularJacques Lucke
Previously, it was a diamond shape when the overall shape was a diamond.