October 21, 2021, 19:30 (GMT) |
Cleanup: Use array utility for cursor events |
October 21, 2021, 19:25 (GMT) |
October 21, 2021, 19:25 (GMT) |
Fix T92363: OptiX fails with ambient occlusion node, after recent changes This triggered a compiler bug where it does not handle the sub.s16 PTX instruction. Instead refactor the code so we don't need to do uint16_t subtraction at all. Also update OptiX device to remove the AO pass direct callable. Thanks Patrick Mours for figuring this out. |
October 21, 2021, 19:22 (GMT) |
Nodes: Fix missing variable |
October 21, 2021, 19:00 (GMT) |
Node Editor: Introduce color overlay and dashed wires theme setting This patch includes code from D9891 and D12754, so credit goes to Juanfran and Dalai. I updated the patches to work with `master` and with the new overlay toggle. The reason to include both changes as part of one patch is that the dimmed dashed lines work much better together with colored wires. Theme setting for dash opacity: {F11370574, size=full} {F11286177, size=full, autoplay, loop} {F11149912, size=full} For adding the overlay I used `SpaceImageOverlay` as reference, although I'm not familiar with this code so there might be mistakes. Reviewed By: #user_interface, HooglyBoogly Differential Revision: https://developer.blender.org/D12886 |
Revision e2ff730 by Sayak Biswas / Brecht Van Lommel October 21, 2021, 18:59 (GMT) |
October 21, 2021, 18:54 (GMT) |
Geometry Nodes: Attribute search in the modifier This adds attribute search to the geometry nodes modifier for the input and output attributes. The "New" search item is only shown for the output attributes. Some of the attribute search code is extracted to a new file in the interface code, to avoid some code duplication. The UI code required two fixes so that the search would work for dynamic length strings (IDProperties do not have a fixed size). Since this does changes to the UI layout of the modifier, I also addressed T91485 here. Differential Revisiion: https://developer.blender.org/D12788 |
Revision 91d099b by Alexander Gavrilov October 21, 2021, 18:36 (GMT) |
Bone Overlay: support bone wireframe opacity settings. When weight painting the bone overlay is extremely intrusive, effectively requiring either extensive use of hiding individual bones, or disabling the whole bone overlay between selections. This addresses the issue by adding two bone opacity sliders that are used for the 'wireframe' armature drawing mode. One directly controls the uniform opacity as the straightforward option. The other one allows fade based on the depth from the camera, using exponential decay with the slider specifying the 'half-life' depth. This is intended as a way to automatically hide bones in distant parts of the mesh while focused on a specific part. Differential Revision: https://developer.blender.org/D11804 |
October 21, 2021, 18:17 (GMT) |
Fix T92371: Move AZONE_REGION When Overlapped Overlapped regions have transparent backgrounds, so when placing AZONE_REGION we need to move them in to the content edge. See D12956 for details and examples. Differential Revision: https://developer.blender.org/D12956 Reviewed by Hans Goudey |
October 21, 2021, 17:52 (GMT) |
Cleanup: Use common define for menu separator arrow |
October 21, 2021, 16:51 (GMT) |
Geometry Nodes: Update bounding box to work on individual instances This commit makes the bounding box node work on each unique geometry (including instances) individually instead of making one large bounding box for everything. This makes the node much faster, and is often the desired result anyway. For the old behavior, a realize instances node can be used in front of this node (versioning adds it automatically). The min and max outputs now only output the values from the realized geometry. Differential Revision: https://developer.blender.org/D12951 |
Revision 3b4aca1 by Alexander Gavrilov October 21, 2021, 16:27 (GMT) |
Constraints: refactor the D7437 patch adding Custom Space for constraints. As mentioned in the comments to that patch, I had an idea for a different way to do some technical aspects, but it was too complicated to force changes in the original patch. Thus I submit this follow up patch. First, instead of modifying all the get_constraint_targets and flush_constraint_targets callbacks, introduce wrapper functions for accessing constraint targets, convert all code to use them, and handle the new reference there uniformly for all constraints. This incidentally revealed a place in the Collada exporter that didn't clean up after retrieving the targets. Also, tag the special target with a flag so other code can handle it appropriately where necessary. This for instance allows dependency graph to know that the Use B-Bone Shape option doesn't affect this specific target. Finally, rename and simplify the function for initializing the custom space, and make sure it is called everywhere necessary. Differential Revision: https://developer.blender.org/D9732 |
Revision 76d0603 by Alexander Gavrilov October 21, 2021, 16:27 (GMT) |
Armature: apply Y scale to B-Bone segments. This fixes a strange behavior where the segments were not actually scaled in the Y direction to match their actual length, thus producing gaps or overlap depending on the shape of the curve. For transformation the change should be very small if enough segments are used, but this will affect the results of the Copy Transforms and Armature constraints, so a backwards compatibility option is provided. Newly created bones default to the new behavior. |
Revision 6bca50d by Alexander Gavrilov October 21, 2021, 16:27 (GMT) |
Temporary Hack: provide B-Bone scale versioning for files with old patch. Run the versioning code for the conversion of bbone scale to an xyz vector if it has fields that correspond to the old version of the patch before that change requiring versioning. The actual Y (length) scale value from the old patch isn't versioned and will be lost, requiring manual fixing. |
Revision 22a0e96 by Alexander Gavrilov October 21, 2021, 16:27 (GMT) |
Context: add accessors returning selected actions for animation editors. Add a new 'selected_visible_actions' property to allow querying actions that are selected in animation related editors for use in UI and operators. The 'selected_editable_actions' variant excludes linked actions (the only reason an action can be read-only). In the Action and Shape Key editors there is only one action that is specified by the field at the top of the editor. In Dope Sheet it scans the channel rows and returns all actions related to the selected items. This includes summary items for actions and groups. In Graph Editor, it lists actions associated with selected curves. The new property is also used for Copy To Selected and Alt-Click. Ref D11803 |
Revision f3f87db by Alexander Gavrilov October 21, 2021, 16:27 (GMT) |
Animation: allow manually setting the intended playback range for actions. Some operations, e.g. adding a new action strip to NLA, require knowing the active frame range of an action. However, currently it can only be deduced by scanning the keyframes of the curves within it. This is not ideal if e.g. curves are staggered for overlap. As suggested by Nathan Vegdahl in comments to T54724, this patch adds Action properties that allow manually specifying its active frame range. The settings are exposed via a panel in the Dopesheet and Action Editor. When enabled, the range is highlighted in the background using a striped fill to distinguish it from the solid filled regular playback range. When set, the frame range is used when adding or updating NLA tracks, and by add-ons using `Action.frame_range`, e.g. FBX exporter. Differential Revision: https://developer.blender.org/D11803 |
Revision a45625d by Alexander Gavrilov October 21, 2021, 16:27 (GMT) |
Animation: allow marking actions as cyclic for Cycle-Aware Keying. When a manual frame range is set, allow marking an action as having Cyclic Animation. This does not affect how the action is evaluated, but the Cycle-Aware Keying option will automatically make any newly added F-Curves cyclic. This allows using the option from the start to build the cycle, rather than only for tweaking an existing loop. The curves are made cyclic when they have only one key, either after inserting the first key, or before adding the second one. The latter case avoids the need to manually make the first added curve cyclic after marking a newly added action cyclic. Differential Revision: https://developer.blender.org/D11803 |
Revision 3ceff68 by Alexander Gavrilov October 21, 2021, 16:27 (GMT) |
Animation: support filtering for curves that don't match the action cycle. Since the looping behavior is defined per curve rather than at action level, it is possible for curve loop periods to get out of sync with each other. This commit adds an option to compare curves against the frame range specified in the action, and treat any mismatches as errors for the purpose of F-Curve filtering. When enabled, the check verifies that curves within the action have valid cyclic extrapolation, the action period evenly divides by the curve period (since a curve looping at e.g. half of the action period length still repeats in sync with the action), and the end values match if the cycle is supposed to be perfect. Differential Revision: https://developer.blender.org/D11803 |
Revision 64e9b3d by Alexander Gavrilov October 21, 2021, 16:27 (GMT) |
Force Fields: implement new true power and custom falloff options. The 'power' falloff option in Blender force fields does not actually generate a true power falloff function, as pointed out in D2389. However, that patch adds a special 'gravity' falloff option to Force fields, without addressing the shortcoming in the common options. The reason for not using the true curve in the options, as far as one can tell, is that the power curve goes up to infinity as the distance is reduced to 0, while the falloff options are designed so that the maximum value of the curve is 1. However, in reality forces with a power falloff don't actually go to infinity, because real objects have a nonzero size, and the force reaches its maximum at the surface of the object. This can be used to integrate an option to use a true power falloff with the design of falloff settings, if it requires a nonzero 'minimum' distance to be set, and uses a curve that reaches 1 at that distance. Since this is adding a new feature to the minimum distance value, it is also a good opportunity to add a feature to the maximum distance. Specifically, the new options can be used to apply arbitrary brush-style falloff curves between min and max, including a fully custom curve option. When used together with power falloff, the two curves are multiplied together. While the true power option allows creating more physically correct forces, the custom curves aid artistic effects. Differential Revision: https://developer.blender.org/D8075 |
Revision 2145a7f by Alexander Gavrilov October 21, 2021, 16:27 (GMT) |
Depsgraph: connect up drivers on various physics properties. It seems drivers for physics properties weren't being linked to evaluation nodes. This connects settings used by modifiers to Geometry; particle settings and rigid body data to Transform which seems to contain rigid body evaluation; and force fields to object Transform, since fields can exist on empties. Differential Revision: https://developer.blender.org/D10088 |
|
|
|


Master Commits
MiikaHweb | 2003-2021