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
2022-04-13Cleanup: clang-formatCampbell Barton
2022-04-13Cleanup: avoid redundant float/int conversions in BLFCampbell Barton
Internally many offsets for BLF were integers but exposed as floats, since these are used in pixel-space, many callers were converging them back to integers. Simplify logic by using ints.
2022-04-13BLF: sub-pixel positioning supportCampbell Barton
Support sub-pixel kerning and hinting for future support for improved character placement. No user visible changes have been made. - Calculate sub-pixel offsets, using integer maths. - Use convenience functions to perform the conversions and hide the underlying values. - Use `ft_pix` type to distinguish values that use sub-pixel integer values from freetype and values rounded to pixels. This was originally based on D12999 by @harley with the user visible changes removed so they can be applied separately.
2022-04-13Cleanup: shadowed variable warningCampbell Barton
2022-04-13gpy.types.GPUUniformBuf: support any object exposing buffer interfaceGermano Cavalcante
Since uniform buffers are generally structs and not sequences, `BPyGPU_BufferType` objects are not suitable for filling the buffer.
2022-04-13gpu.types.Buffer: fill buffer interface with just what is requestedGermano Cavalcante
Use the `flags` parameter to avoid unnecessary allocations.
2022-04-13Fix size of MAT3 and MAT4 in GPUShaderCreateInfo.push_constantGermano Cavalcante
It was being wrongly multiplied by 2.
2022-04-13Fix cases where 'Py_buffer' might not be releasedGermano Cavalcante
2022-04-13Fix possible pointer being freed without being allocated in pygpu moduleGermano Cavalcante
The `clear` method can be called before dealloc, which can mislead buffer ownership.
2022-04-13pyGPU: Port 'StageInterfaceInfo' and 'ShaderCreateInfo' typesGermano Cavalcante
In order to allow GLSL Cross Compilation across platforms, expose in Python the `GPUShaderCreateInfo` strategy as detailed in https://wiki.blender.org/wiki/EEVEE_%26_Viewport/GPU_Module/GLSL_Cross_Compilation The new features can be listed as follows: ``` >>> gpu.types.GPUShaderCreateInfo. define( fragment_out( fragment_source( push_constant( sampler( typedef_source( uniform_buf( vertex_in( vertex_out( vertex_source( >>> gpu.types.GPUStageInterfaceInfo. flat( name no_perspective( smooth( >>> gpu.shader.create_from_info( ``` Reviewed By: fclem, campbellbarton Differential Revision: https://developer.blender.org/D14497
2022-04-12Fix: Assert when curve has no evaluated pointsHans Goudey
It is valid for NURBS curves to have no evaluated points in some cases.
2022-04-12Cleanup: Remove reference to CD_NORMAL in poly custom dataHans Goudey
Vertex and face normals are not stored in custom data anymore, in both Mesh and DerivedMesh.
2022-04-12Cleanup: Correct wording in commentsHans Goudey
2022-04-12Cycles fp consistency for Apple Silicon CPUsMichael Jones
Propagate the fp settings from the main thread to all the worker threads (the fp settings includes the FZ settings among other things) - this guarantees consistency in execution of floating point math regardless if its executed in tbb thread arena or on main thread Add FZ mode to arm64/aarch64 in parallel to the way its been done on intel processors, currently compiling for arm target does not set this mode at all, hence potentially runs slower and with possible results mismatch with intel x86. Reviewed By: brecht Differential Revision: https://developer.blender.org/D14454
2022-04-12Revert "Cycles: enable HIP for Vega and Vega II (Radeon 7) GPUs on Windows"Brecht Van Lommel
This is not currently working, reverting until the driver/compiler has a fix. This reverts commit c46e58817cd72d1481967d32e3c6f47f42933d39.
2022-04-12Fix T97069: Null collection object during layercollection resync when relinking.Bastien Montagne
We better handle NULL object pointers before doing layer collections resync, otherwise said resync process has to deal with those NULL pointers. By the look of it this mistake has been there since the origin of the remapping/relinking code. Also for safety (and optimization), do not perform layer collection resync from `libblock_remap_data_postprocess_object_update` when `libblock_remap_data_postprocess_collection_update` is called immediately afterwards. Also added same 'skip on NULL collection object pointer' check to `layer_collection_local_sync` as the one in `layer_collection_objects_sync`, since it's fairly hard to always guaranty there is no such NULL pointer when calling that code.
2022-04-12Fix (unreported) use-after-free case in Properties Editor ID remapping code.Bastien Montagne
Regression in rBa21bca0e20a051, found while investigating T97069.
2022-04-12Fix: BMesh Python API errors after vertex_normals additionHans Goudey
64cd927519748bbd50 didn't update the argument parsing strings, and updated the docstring of `from_object` incorrectly. Fixes T97025, T97213
2022-04-12Fix T97280: Typo in tooltip of image texture nodeThomas Dinges
2022-04-12Cleanup: redundant logical notGermano Cavalcante
Overlooked at rB0ebcc711f. The logical not in this case was only applied to the left hand side of the comparison.
2022-04-12Cleanup: remove unused multi-functionJacques Lucke
2022-04-12Cleanup: pass vectors by referenceJacques Lucke
Passing them by value caused measurable overhead for me.
2022-04-12Fix T95679: Outliner 'Unlink' directly on action misses DEG updatePhilipp Oeser
Animation would still play in the viewport. There are two ways to unlink an action from the Outliner: [1] `Unlink Action` on the Animation Data context menu. This does `outliner_do_data_operation` / `unlinkact_animdata_fn` and has the correct DEG update. [2] `Unlink` on the Action context menu This does `outliner_do_libdata_operation` / `unlink_action_fn` and was missing the DEG update. Now add the missing DEG update to the second case. Maniphest Tasks: T95679 Differential Revision: https://developer.blender.org/D14089
2022-04-12Fix Pushdown of an action from the Action Editor lacks immediate updatesPhilipp Oeser
The issue reported was that the recently introduced manual framerange of an action (see rB5d59b38605d6) was not having an immediate effect in case the action was pushed down from the Action Editor and only showed its effects after e.g. saving and reloading the file. However doing the same thing (pushing down the action) was working fine when done from the NLA. Now bring pushdown in sync (in terms of DEG update tagging) between the Action Editor and the NLA, meaning that now both the owner and the action are tagged when pushdown happens from the Action Editor as well. Fixes T96964. Maniphest Tasks: T96964 Differential Revision: https://developer.blender.org/D14564
2022-04-12Fix T97132: Create a color attribute automaticallyJoseph Eagar
for color filter tool instead of canceling.
2022-04-12Fix T97100: Fix ordering in color attribute list itemsJoseph Eagar
The new tab in the properties panel for "Color Attributes" shows the data type and domain, just like the Attributes tab. The issue is that the UI does not scale well and can only display the full names when dragged to an extreme width. This is due to the inclusion of the render icon in between the attribute name and attribute type description. This patch changes the order that items are displayed in the Color Attributes Panel. Moving the render icon to the very right. The result is consistent with other parts of the Blender UI and does not take as much space to display the full text. Reviewed By: @jbakker Differential Revision: https://developer.blender.org/D14567 Ref D14567
2022-04-12Fix T97098: Color filter sharpening artifacts.Joseph Eagar
Color filter sharpening now clamps the output. The sharpening delta is now calculated from the difference of two levels of vertex averaging instead of one smooth iteration and the base color. TODO: Sharpen in a different color space; SRGB-linear has saturation artifacts. I tried HSL but it had value artifacts. I'd like to try LAB but we don't seem to have conversion functions for it (at least as far as I could see).
2022-04-12Cleanup: use _NUM suffix for space/region type rangesCampbell Barton
- Replace SPACE_TYPE_LAST with SPACE_TYPE_NUM (adding 1). - Rename RGN_TYPE_LEN to RGN_TYPE_NUM This makes it possible to tag space-type/region-type combinations with `bool tag[SPACE_TYPE_NUM][RGN_TYPE_NUM]` which reads more clearly than `bool tag[SPACE_TYPE_LAST + 1][RGN_TYPE_LEN]`.
2022-04-12Fix wrong key type for GSet in Grease Pencil same material selectionLukas Stockner
The type of the key was changed from string to integer in 66da2f537ae8, but the GSet was still being created for string keys. As long as the integers stay small enough, this even kind of works on little-endian systems, but of course it should use an integer hash instead.
2022-04-12Cleanup: clang-formatLukas Stockner
2022-04-12UI: Add support for showing socket descriptions in tooltipsLukas Stockner
Currently, hovering over a socket itself shows no tooltip at all, while hovering over its value field shows "Default value", which is not helpful. This patch therefore implements socket tooltips following the proposal at https://blender.community/c/rightclickselect/2Qgbbc/. A lot of the basic functionality was already implemented for Geometry Nodes, where hovering over the socket itself shows introspection info. This patch extends this by: - Supporting dynamic tooltips on labels, which is important for good tooltip coverage in a socket's region of the node. - Adding a function to setting a dynamic tooltip for an entire uiLayout, which avoids needing to set it manually for a wide variety of socket types. - Hiding the property label field in a tooltip when dynamic tooltip is also provided. If really needed, this label can be restored through the dynamic tooltip, but in all current cases the label is actually pointless anyways since the dynamic tooltip gives more accurate and specific information. - Adding dynamic tooltips to a socket's UI layout row if it has a description configured, both in the Node Editor as well as in the Material Properties. Note that the patch does not add any actual tooltip content yet, just the infrastructure to show them. By default, sockets without a description still show the old "Default value" tooltip. For an example of how to add socket descriptions, check the Cylinder node in the Geometry Nodes. Differential Revision: https://developer.blender.org/D9967
2022-04-11UI: make snap self inactive if proportional editingEthan-Hall
When using proportional editing, the 'project onto self' snap setting is ignored since proportional editing does not allow snapping to self. The UI should reflect this fact. This patch makes 'project onto self' active only when proportional editing is off. Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D14496
2022-04-11PyGPU: make sure the UniformBuffer is padded to 16 bytesGermano Cavalcante
Alignment with `vec4` is a requirement in C++, so it should be a requirement in Python as well.
2022-04-11Fix crash when creating a 'gpu.types.Buffer'Germano Cavalcante
Buffer creation may crash when passed a PyBuffer with no `shape` defined. (Which is common for strucs).
2022-04-11Curves: Add support for new curves type in Set Material nodeChristophe Hery
Simply add the few lines so that the Cycles renderable New Curves (with a small temporary patch to output the new type to render engines) would get assigned a shader (in particular a hair shader). Differential Revision: https://developer.blender.org/D14622
2022-04-11Update RNA to user manual referencesAaron Carlisle
2022-04-11Fix OpenColorIO error with configs using <USE_DISPLAY_NAME>Brecht Van Lommel
* Don't assume the display colorspace name fully defines the transform to display space, this is not true in OpenColorIO 2 where view transforms may be defined in more complexs ways than just specifying a colorspace. * In places where we need to store the display colorspace name, resolve <USE_DISPLAY_NAME> token manually. Ref T96590
2022-04-11Fix T97097: Color Filter saturates colors that have no saturationJoseph Eagar
2022-04-11Fix T97096: Color filter brush was corrupting alpha.Joseph Eagar
2022-04-11Fix adding certain nodes can cause python errorsPhilipp Oeser
Adding nodes via `NodeAddOperator` could fail if the node's poll fails in `rna_NodeTree_node_new`. Examples are trying to add a RenderLayers node or a Cryptomatte node to a nodegroup. Now except the python error and use blender error reporting only instead of throwing full python stacktraces at the user. Differential Revision: https://developer.blender.org/D14584
2022-04-11Cleanup: Clarify a few comments in pbvh_intern.hJoseph Eagar
2022-04-11Cleanup: fix attribute.c incorrectly usingJoseph Eagar
CustomDataLayer.type to check for CD_FLAG_TEMPORARY instead of .flag.
2022-04-11Fix/workaround i18n script not finding some messages anymore.Bastien Montagne
For some reasons(c) some base classes (like `bpy.types.Modifier`) are not listed anymore by a call to `bpy.types.ID.__base__.__subclasses__()`, unless they are first accessed explicitely (e.g. by executing `bpy.types.Modifier` etc.).
2022-04-11Fix T85467: Mask transform center doesn't take parent Track into accountPhilipp Oeser
Coordinate checks in `spline_under_mouse_get` need to take place with the evaluated mask to get the right center. This is now more in line to how this is done in `ED_mask_point_find_nearest`. Note: similar issues are reported with box/circle/lasso selection in T97135, will tackle these separately though. Maniphest Tasks: T85467 Differential Revision: https://developer.blender.org/D14598
2022-04-11Curves Sculpting Icons: Snake Hook and Grow updatesDalai Felinto
This implements the icon for snake hook, as well as tweak the growth brush to make it bigger and with the triangles more distinct for better reading of the icon. Differential Revision: https://developer.blender.org/D14616
2022-04-11install_deps: Tweak rBbc9c9631a46f, libwebp is not only a dependency from ↵Bastien Montagne
ffmpeg.
2022-04-11Fix Cycles missing nullptr check in case mesh has no shaderCharles Flèche
Did not affect Blender, but could happen with other integrations. Differential Revision: https://developer.blender.org/D14538
2022-04-11Fix setting key shortcuts for insert keyframe menu itemsCampbell Barton
It was not possible to assign a shortcut to menu items in the insert key-frame menu going back to version 2.7x. Doing so would replace the current key that opens the insert keyframe menu (I-key by default), instead of binding a key to insert a key-frame for the keying-set referenced by the menu item. Now each menu item can be bound to a key or added to the "Quick Favorites" menu, directly inserting a key-frame for the corresponding keying-set. Note that users must use the operator `anim.keyframe_insert_by_name` when setting up key-shortcuts as `anim.keyframe_insert` is only intended to launch the menu. Keymap Editor: When editing these key-map items in the key-map editor, the keying-set identifier must be used. At the moment the key-map editor doesn't support showing a drop-down list. The identifiers can be used from the tool-tip or the info editor. {F12994924} Details: Use `ANIM_OT_keyframe_insert_by_name` instead of `ANIM_OT_keyframe_insert_menu` for the insert keyframe popup menu to resolve the following issues binding keys to keying sets: - The index of the keying set isn't stable (adding/removing keying sets may change it). - Binding a key to items in the popup menu triggers a popup instead of inserting a key using the keying set from the menu item. While support for using the current operator could be improved, it will still only work for built-in keying sets, so I'd prefer to use an operator that is intended for key-bindings. Besides supporting binding keys to menu items there are no functional changes. Reviewed By: sybren Ref D14289
2022-04-11BMesh Python API: add access to vertex crease layerKévin Dietrich
This simply adds access to the vertex crease layer from Python code. Documentation was modified to remove "Edge" as it is shared between edges and vertices, similarly to bevel weights. Differential Revision: https://developer.blender.org/D14605
2022-04-11Cleanup: use doxy-comments and `r_` prefix return argumentsCampbell Barton