December 16, 2020, 15:00 (GMT) |
BLI: remove implicit casts between some span types Casting pointers from one type to another does change the value of the pointer in some cases. Therefore, casting a span that contains pointers of one type to a span that contains pointers of another type, is not generally safe. In practice, this issue mainly comes up when dealing with classes that have a vtable. There are some special cases that are still allowed. For example, adding const to the pointer does not change the address. Also, casting to a void pointer is fine. In cases where implicit conversion is disabled, but one is sure that the cast is valid, an explicit call of `span.cast<NewType>()` can be used. |
December 16, 2020, 14:46 (GMT) |
Merge branch 'master' into greasepencil-object |
December 16, 2020, 14:27 (GMT) |
Fix: Python warning in windows debug builds When doing a debug build on windows, blender will start with the following warning: "Unable to find the python binary, the multiprocessing module may not be functional!" The root cause for this issue is: for a debug build the python binary is called python_d.exe rather than just python.exe This change fixes BKE_appdir_program_python_search to look for the _d suffix for debug builds on windows Differential Revision: https://developer.blender.org/D9775 Reviewed by: Campbell Barton |
December 16, 2020, 14:12 (GMT) |
LibOverride: Better handling of missing linked data during resync. We do not generate overrides for missing data-blocks (aka placeholder ones) anymore, and properly delete the remaining old overrides of those during the resync process. This should prevent constant 'missing data-blocks' messages when opening blend files with overrides whose libraries have beed edited. Issue reported by @andy from Blender studio, thanks. |
December 16, 2020, 14:03 (GMT) |
Fix T83801: UVEditor translation ignores "Pixel Coordinates" and aspect ratio Caused by rB4eda60c2d82d. T83801 reported not moving in pixel space, but even without that toggle above commit caused the translation to not take apsect ratio into account properly [a translation of 1 on the x axis for example on an image with non 1:1 aspect ration caused the UVs to not end up in the same place on the next 'tile'] Above commit removed 'removeAspectRatio()' [the counterpart of applyAspectRatio -- which does the pixel coord correction internally] from 'applyTranslation()'. This was also reported in T83352 [which was closed by rBf3b08af24c9f -- but that only solved the displax in header, not the actual transformation] Now bring back 'removeAspectRatio()'. Maniphest Tasks: T83801 Differential Revision: https://developer.blender.org/D9869 |
December 16, 2020, 14:02 (GMT) |
Fix T83547: UV Editor stitching preview is gone. Issue was related that the draw manager didn't invoked the draw handlers for image editors. |
December 16, 2020, 13:53 (GMT) |
Fix exported keymaps loading in 2.91 and older The generated keymaps used a keyword argument that doesn't exist in older Blender versions. |
December 16, 2020, 13:49 (GMT) |
Fix crash, remove debug prints |
December 16, 2020, 13:21 (GMT) |
Fix 3D View is red when using stereo Fix T83415: 3D View is red when using stereo The red view was caused by SRGB not being enabled for an SRGB texture attached to the framebuffer. Currently, when configuring a framebuffer, the first texture attachment needs to be an SRGB format in order for the framebuffer to be binded with SRGB enabled. Thus, simply changing the SRGB texture attachment as the first texture attachment removes the red color in the view. Reviewed By: #eevee_viewport, jbakker Maniphest Tasks: T83415 Differential Revision: https://developer.blender.org/D9845 |
December 16, 2020, 12:57 (GMT) |
Fix T83557: Alpha blend + emissive colors renders white artifacts Issue was that not all code paths were taken to determine if the GPU Texture was premultiplied or not. In this case the result was set to unpremultiplied what is incorrect. This fixes broken test case image alpha blend from image_colorspace. |
December 16, 2020, 12:31 (GMT) |
Geometry Nodes: rename node to Attribute Randomize Previously, the node was called Random Attribute. For consistency reasons, we move the "Attribute" part of the name to the front. |
December 16, 2020, 11:19 (GMT) |
BLI: add new InplacePriorityQueue data structure This data structure adds priority queue functionality to an existing array. The underlying array is not changed. Instead, the priority queue maintains indices into the original array. Changing priorities of elements dynamically is supported, but the priority queue has to be informed of such changes. This data structure is needed for D9787. |
December 16, 2020, 11:13 (GMT) |
Fix possible crash with custom (add-on defined) icons This change is a simple null check on the ID provided to icon_set_image() which appears to be a legitimate value for the ID when used by some addins (discovered with PowerSave shortly after syncing to main). Differential Revision: https://developer.blender.org/D9866 Reviewed by: Julian Eisel |
December 16, 2020, 11:10 (GMT) |
UI: Indicate asset data-blocks with an icon in Outliners & search menus It's useful to easily see which data-blocks are assets and which not. So just like we usually show the library linking/override icons, we show the asset icon there (these are mutually exclusive data-block states). Uses the `'MAT_SPHERE_SKY` icon, which wasn't used before (except by an add-on!) and is sorta fitting, but not quite. We should either change this one or add an own asset icon. Meanwhile this isn't too bad :) Also adds an internal macro to check if a data-block is an asset, consistent to how we do it for libraries and library overrides. |
December 16, 2020, 11:10 (GMT) |
Assets: Add operator & button to regenerate the automatic preview This makes it possible to trigger a refresh of the data-block preview, available next to the preview in the Asset Browser sidebar. The previews get easily outdated and automatically refreshing it all the time is not an option because it would be a consistently running, quite expensive process. So a button to cause a refresh should be reasonable. This button can also be used to switch back from a custom preview to a generated one. Although that may not be clear, and we should probably think of a way to explain that better. Addresses T82719. |
December 16, 2020, 11:10 (GMT) |
Asset Browser UI: Changes to the sidebar layout The current layout wasn't great at all, and it was planned to polish this. This does a first round of improvements, some more tweaking may follow. * Place name button at the top, with no panel and no leading label. * Add "Preview" panel, people may not want to see the preview all the time, it's already visible in the file list. * Move button to browse for a custom preview to the right of the preview, as icon-only. We have a similar layout in other places (UI-lists, matcaps). * Don't make the details panel a sub-panel. Looked weird because the parent doesn't have a header. * Add info icon to "No asset selected", looks a bit friendlier. * Minor cleanups in the UI script. Based on designs and feedback by William Reynish. |
December 16, 2020, 11:10 (GMT) |
Assets UI: Tweak position of the "Add Asset Library" icon-button in Preferences It's weird to have a button that adds a new item at the bottom be placed at the top. So rather move it below the list of custom asset library paths. |
December 16, 2020, 11:10 (GMT) |
Asset Browser: Allow renaming asset data-blocks from the sidebar directly This is something we wanted to support doing. It's confusing if users see the name but it's always grayed out. So be convenient and avoid the confusion. |
December 16, 2020, 11:10 (GMT) |
Cleanup: Rename Asset Browser context member from "active_id" to "id" This is the same name we use elsewhere for the focused/active ID context member, so this should follow it. |
Revision 2901d3d by Alexander Gavrilov December 16, 2020, 11:04 (GMT) |
Armature: add B-Bone lengthwise scaling and custom handle scaling options. In addition to the base bone transformation itself, B-Bones have controls that affect transformation of its segments. For rotation the features are quite complete, allowing to both reorient the Bezier handles via properties, and to control them using custom handle bones. However for scaling there are two deficiencies. First, there are only X and Y scale factors (actually X and Z, but this is the legacy naming), while lengthwise all segments have the same scaling. The ease option merely affects the shape of the curve, and does not cause actual scaling. Second, scaling can only be controlled via properties, thus requiring up to 6 drivers per joint between B-Bones to transfer scaling factors from the handle bone. This is very inefficient. This patch addresses these deficiencies by adding Length scale inputs, and providing toggles to apply custom handle local scale channels to the now four scale-related properties. The 'Length' name is used to avoid confusion due to the X/Y vs X/Z naming. The two Length scale inputs control the ratio between the lengths of the start and end segments of the bone: although for convenience two inputs are provided, the whole chain is still uniformly scaled to fit the curve. A Scale Easing option is provided to multiply the easing value by the Length scale factors to synchronize them - this produces a natural scaling effect where both the shape of the curve and the scale is affected. The second issue is addressed by providing toggles for each handle that multiply each of the X, Z, Length and Ease values by the matching Local Scale channel of the handle bone, thus replacing trivial drivers. The Scale Easing option has no effect on this process since it's easy to just enable both Length and Ease buttons. Finally, 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. Differential Revision: https://developer.blender.org/D9870 |
|
|
|


Master Commits
MiikaHweb | 2003-2021