July 14, 2021, 20:49 (GMT) |
UI: Support pressing Ctrl+F over UI lists to search Adds an operator invoked by default with Ctrl+F that while hovering a UI list, opens the search field of the list and enables text input for it. With this commit the search button may actually be out of view after Ctrl+F still. The following commit adds auto-scroll to solve that. A downside is that in the Properties, there also is Ctrl+F to start the editor-wide search. That's not unusual in Blender though (e.g. scolling with the mouse over a UI list also scrolls the list, not the region). |
July 14, 2021, 20:07 (GMT) |
Merge branch 'master' into temp-geometry-nodes-curve-sample |
July 14, 2021, 19:13 (GMT) |
Bezier Spline: Add a more generalized insertion utility This logic is from the curve sundivide node, used to add points with proper handles in between two existing points. However, the same logic is used for trimming of Bezier splines, and possibly interactive point insertion in the future, so it's helpful as a general utility. The logic is converted to depend on a bezier spline instead of being static. A temporary segment spline can be used for the latter use case. |
July 14, 2021, 17:51 (GMT) |
Cleanup: Refactored fillet code |
Revision f9f3ece by Fabian Schempp (soc-2021-porting-modifiers-to-nodes-decimate, soc-2021-porting-modifiers-to-nodes_all) July 14, 2021, 17:42 (GMT) |
Merge branch 'master' into soc-2021-porting-modifiers-to-nodes-decimate # Conflicts: # source/blender/blenkernel/BKE_node.h |
July 14, 2021, 16:47 (GMT) |
Fix error loading non-existent shadow kernel pass after recent changes |
July 14, 2021, 16:18 (GMT) |
UI: Support left-right arrow key walk navigation in UI lists Add improved arrow key walk navigation in grid layout UI List templates. Pressing up or down walks the active item to the adjacent row in that direction, while left and right walk through the items along the columns wrapping at the rows. Note from Julian: In combination with the following commit, this has the important limitation that the list's custom activate operator won't be called when "walking over" an item that is scrolled out of the list. That is because we don't actually create any buttons for those that could be used for the handling logic. For our purposes of the pose libraries that should be fine since the asset view list is always made big enough to display all items. Solving this might be difficult, we don't properly support nesting boxes with proper scrolling in regular layouts. It's all just hacked a bit for UI-lists to work. Overlaps quite a bit with T86149. Differential Revision: https://developer.blender.org/D11063 |
July 14, 2021, 16:18 (GMT) |
UI: Support UI list tooltips, defined via Python scripts Makes it possible to create tooltips for UI list rows, which can be filled in .py scripts, similar to how they can extend other menus. This is used by the (to be committed) Pose Library add-on to display pose operations (selecting bones of a pose, blending a pose, etc). It's important that the Python scripts check if the UI list is the correct one by checking the list ID. For this to work, a new `bpy.context.ui_list` can be checked. For example, the Pose Library add-on does the following check: ``` def is_pose_asset_view() -> bool: # Important: Must check context first, or the menu is added for every kind of list. list = getattr(context, "ui_list", None) if not list or list.bl_idname != "UI_UL_asset_view" or list.list_id != "pose_assets": return False if not context.asset_handle: return False return True ``` |
July 14, 2021, 16:17 (GMT) |
UI: Internal support for custom UI list item drag & activate operators For pose libraries, we need to be able to apply a pose whenever activating (clicking) an item in the Pose Library asset view and blend it by dragging (press & move). And since we want to allow Python scripts to define what happens at least when activating an asset (so they can define for example a custom "Apply" operator for preset assets), it makes sense to just let them pass an operator name to the asset view template. The template will be introduced in a following commit. |
July 14, 2021, 15:57 (GMT) |
UI: New UI list layout type for big preview tiles This new layout type is meant for the upcoming asset view UI template. With it it is possible to show big asset previews with their names in a responsive grid layout. Notes: * The layout is only available for C defined UI lists. We could expose it to Python, but I think there are still some scrolling issues to be fixed first. (The asset view template doesn't use scrolling for the UI list.) * I'd consider this a more usable version of the existing `GRID` layout type. We may remove that in favor of the new one in future. |
July 14, 2021, 15:49 (GMT) |
Cleanup: Layer resync: Split object/base resync part in own function. No behavioral change expected here. |
July 14, 2021, 15:29 (GMT) |
Cycles X: make OptiX 7.3 the minimum required SDK version This ensure the new faster builtin curve intersection is used, and lets us simplify the code a bit. Differential Revision: https://developer.blender.org/D11866 |
July 14, 2021, 15:24 (GMT) |
July 14, 2021, 15:23 (GMT) |
Cycles X: reduce GPU state memory usage when some features are not enabled In particular: volumes, subsurface, denoising and light passes. In a scene without these features, we go from 538MB to 346MB for the state memory usage. This also improves performance, presumably due to reduced memory traffic. Differential Revision: https://developer.blender.org/D11915 |
July 14, 2021, 15:23 (GMT) |
Cycles X: change requested device features to bitflags So that they can be shared between host and device. Differential Revision: https://developer.blender.org/D11914 |
July 14, 2021, 15:23 (GMT) |
Cycles X: use less memory for float3 integrator state on GPU Allocate different device_only_memory size depending if the device is CPU or GPU, since for GPU we don't align to 16 bytes for SSE. Also adds some sanity checks and ensure float3 is not used in device_vector since it's incompatible for sharing data between CPU and GPU. Differential Revision: https://developer.blender.org/D11913 |
July 14, 2021, 15:23 (GMT) |
Cleanup: remove disabled OpenCL implementation To be replaced with something else for non-NVIDIA devices later. Makes it easier to do some of the upcoming changes. Differential Revision: https://developer.blender.org/D11912 |
July 14, 2021, 15:21 (GMT) |
Add "id_properties_clear()" calls to UI data tests |
July 14, 2021, 15:05 (GMT) |
Cleanup: Reoder definition |
July 14, 2021, 15:03 (GMT) |
UI: UI list refactor & preparations for asset view template This is more of a first-pass refactor for the UI list template. More improvements could be done, but that's better done separately. Main purpose of this is to make the UI list code more manageable and ready for the asset view template. No functional changes for users. * Split the huge template function into more manageable functions, with clear names and a few structs with high coherency. * Move runtime data management to the template code, with a free callback called from BKE. This is UI data and should be managed at that level. * Replace boolean arguments with bit-flags (easily extendable and more readable from the caller). * Allow passing custom-data to the UI list for callbacks to access. * Make list grip button for resizing optional. * Put logic for generating the internal UI list identifier (stored in .blends) into function. This is a quite important bit and a later commit adds a related function. Good to have a clear API for this. * Improve naming, comments, etc. As part of further cleanups I'd like to move this to an own file. |
|
|
|


Master Commits
MiikaHweb | 2003-2021