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-09-24Cleanup: typo in static node typeJacques Lucke
2022-09-24BLF: Refactor of DPIHarley Acheson
Correction of U.dpi to hold actual monitor DPI. Simplify font sizing by omitting DPI as API argument, always using 72 internally. See D15961 for more details. Differential Revision: https://developer.blender.org/D15961 Reviewed by Campbell Barton
2022-09-24Fix build error in blenloader on macOS after recent changesBrecht Van Lommel
2022-09-24Fix T101295: Allow Large Windows ThumbnailsHarley Acheson
Allow our Windows Thumbnail Handler to supply thumbnails up to the maximum 256x256 size. Differential Revision: https://developer.blender.org/D16051 Reviewed by Ray Molenkamp
2022-09-24Cleanup: Remove unused data transfer functionHans Goudey
2022-09-24GPU: Disable static compilation for geometry shaders workaroundClément Foucault
These shaders are only supported by the Metal backed. Regression introduced by 1514e1a5b7e15ec0c11cd40c2b9389982bd5d00e
2022-09-24Overlay: Fix overlay image shadersClément Foucault
Regression introduced in 18b45aabf91ad0a407e8c7cd16c5503e7a99d6fa. Caused by a bad merge.
2022-09-24Sculpt: fix memory corruption in new attribute apiJoseph Eagar
2022-09-23Fix T101249: Node groups don't show in node searchHans Goudey
bdb57541475f20ccc neglected to add search items for node groups. Luckily adding them is quite simple. However, if the node group is also an asset, it will show up duplicated in the list. To resolve this we avoid adding node groups to the list if they have already been added as assets.
2022-09-23Geometry Nodes: Split transfer attribute nodeHans Goudey
This patch replaces the existing transfer attribute node with three nodes, "Sample Nearest Surface", "Sample Index", and "Sample Nearest". This follows the design in T100010, allowing for new nodes like UV sampling in the future. There is versioning so the new nodes replace the old ones and are relinked as necessary. The "Sample Nearest Surface" node is meant for the more complex sampling algorithms that only work on meshes and interpolate values inside of faces. The new "Sample Index" just retrieves attributes from a geometry at specific indices. It doesn't have implicit behavior like the old transfer mode, which should make it more predictable. In order to not change the behavior from existing files, the node has a has a "Clamp", which is off by default for consistency with the "Field at Index" node. The "Sample Nearest" node returns the index of the nearest element on a geometry. It can be combined with the "Sample Index" node for the same functionality as the old transfer node. This node can support curves in the future. Backwards compatibility is handled by versioning, but old versions can not understand these nodes. The warning from 680fa8a523e0 should make this explicit in 3.3 and earlier. Differential Revision: https://developer.blender.org/D15909
2022-09-23Fix T100741: Update FFMPEG DimensionsHarley Acheson
Update the animation's dimensions within ffmpeg_fetchibuf in case it has changed because of dynamic resolution (possible with WebM). Differential Revision: https://developer.blender.org/D15842 Reviewed by Richard Antalik
2022-09-23Fix: Crash with empty vertex group in mask modifierHans Goudey
The C++ vertex group data accessor returned a span with null data that wasn't empty. Instead of adding a null check as well as the size check, just return an empty span when there is no vertex group data.
2022-09-23GPencil: Improve Fill Tool Extend linesAntonio Vazquez
* Improve how the extend lines collision is calculated. * Added `S` key to switch between modes. * Now extend factor does not disable visual aids (thi sis done with checkbox). * Reduce the use of linked list and now memory array is used. * Refactor Radius functions. * Fixed bug of Radius mode when object is rotated. * Cleanup code. Differential Revision: https://developer.blender.org/D16022
2022-09-23Fix: Missing DNA rename for recent mesh refactorHans Goudey
12becbf0dffe06b6f28c4 changed to `flag_legacy` but didn't use a rename.
2022-09-23Node Editor: Adjust node link curvingLeon Schittek
Clamp node link curving when the link is close to horizontal to prevent overshooting at the ends. Reviewed By: Pablo Vazquez, Hans Goudey Differential Revision: http://developer.blender.org/D16041
2022-09-23Fix: Assert calculating mesh triangulationHans Goudey
The condition from 0d7d8c73cf5c5c5f05c was reversed.
2022-09-23Mesh: Move selection flags to generic attributesHans Goudey
Using the attribute name semantics from T97452, this patch moves the selection status of mesh elements from the `SELECT` of vertices, and edges, and the `ME_FACE_SEL` of faces to generic boolean attribute Storing this data as generic attributes can significantly simplify and improve code, as described in T95965. The attributes are called `.select_vert`, `.select_edge`, and `.select_poly`. The `.` prefix means they are "UI attributes",so they still contain original data edited by users, but they aren't meant to be accessed procedurally by the user in arbitrary situations. They are also be hidden in the spreadsheet and the attribute list. Until 4.0, the attributes are still written to and read from the mesh in the old way, so neither forward nor backward compatibility are affected. This means memory requirements will be increased by one byte per element when selection is used. When the flags are removed completely, requirements will decrease. Further notes: * The `MVert` flag is empty at runtime now, so it can be ignored. * `BMesh` is unchanged, otherwise the change would be much larger. * Many tests have slightly different results, since the selection attribute uses more generic propagation. Previously you couldn't really rely on edit mode selections being propagated procedurally. Now it mostly works as expected. Similar to 2480b55f216c Ref T95965 Differential Revision: https://developer.blender.org/D15795
2022-09-23View3d: move space_view3d.c to c++Jacques Lucke
2022-09-23Cleanup: use depsgraph iterator settings in rnaJacques Lucke
Somehow missed this as part of rBb197cd5821f1dfaa5168d31984dd8014f5252456.
2022-09-23Mesh: Move edge crease out of MEdgeHans Goudey
This is very similar to D14077. There are two differences though. First is that vertex creases are already stored in a separate layer, and second is that we can now completely remove use of `Mesh.cd_flag`, since that information is now inherent to whether the layers exist. There are two functional differences here: * Operators are used to add and remove layers instead of a property. * The "crease" attribute can be created and removed by geometry nodes. The second change should make various geometry nodes slightly faster, since the "crease" attribute was always processed before. Creases are now interpolated generically in the CustomData API too, which should help maintain the values across edits better. Meshes get an `edge_creases` RNA property like the existing vertex property, to provide more efficient access to the data in Cycles. One test failure is expected, where different rounding between float the old char storage means that 5 additional points are scattered in a geometry nodes test. Differential Revision: https://developer.blender.org/D15927
2022-09-23Cleanup: use depsgraph iterator settings in rnaJacques Lucke
This was missing in rBe5d4afd5bac71e29ba71ecf091feaa0d70b70260.
2022-09-23Mesh: Use cached looptris in draw cache extractionHans Goudey
The mesh's triangulation cache is often created for other operations besides the drawing code, but during the mesh draw cache extraction it is recalculated on every single time. It is simpler and faster to use the existing MLoopTri array. It can also save memory if the cache already exists by avoiding allocating a duplicate array. For a 4 million face quad mesh, that is already 128 MB. Also use face normals for mesh triangulation if they aren't dirty, which should provide a general speedup when they're both necessary. Recently 54182e4925de made this more reliable, since the triangulation cache is invalidated properly when the mesh is deformed. Fixes T98073 Differential Revision: https://developer.blender.org/D15550
2022-09-23Mesh: Move sculpt face sets to a generic attributeHans Goudey
Similar to the other refactors from T95965, this commit moves sculpt face sets to use a generic integer attribute named `".sculpt_face_set"`. This makes face sets accessible in the Python API. The attribute is not visible in the attributes list or the spreadsheet because it is meant for internal use, though that could be an option in the future along with other similar attributes. Currently the change is small, but in the future this could simplify code by allowing use of more generic attribute APIs. Differential Revision: https://developer.blender.org/D16045
2022-09-23Cleanup: Grammar fix in lazy functionHans Goudey
2022-09-23Cleanup: fix compiler errorsJacques Lucke
2022-09-23Cleanup: give anonymous enum a nameJacques Lucke
2022-09-23Depsgraph: generalize passing parameters to depsgraph object iteratorJacques Lucke
This makes it easier to pass more parameters to the iterator in the future. Differential Revision: https://developer.blender.org/D16047
2022-09-23Fix T101109: Animation on nodes problems when dealing with Node GroupsPhilipp Oeser
Whenever animation on nodes was transfered to/from nodegroups (grouping/ ungrouping/separating) via BKE_animdata_transfer_by_basepath, it was possible to create new nodes with the same name (in the formerly same path -- see report for an example of this) and animation from the original node was still performed on them. Issue went away after save/ reload. In order to fully update the action, a depsgraph is now performed on the action (similar to what is done when renaming for example). Maniphest Tasks: T101109 Differential Revision: https://developer.blender.org/D15987
2022-09-23Fix T101046: missing DEG update changing bone layers in editmodePhilipp Oeser
Following {T54811} (and {rBbb92edd1c802}), DEG updates have been added to the various operators. This has also been done for the layers operators (see {rBf998bad211ae}, `ARMATURE_OT_bone_layers` has been marked done in T54811). However, instead of `ARMATURE_OT_bone_layers`, the update tagging actually happened for `POSE_OT_bone_layers`. Now do this for `ARMATURE_OT_bone_layers` as well (keep it for `POSE_OT_bone_layers`, dont think this is wrong there either). Maniphest Tasks: T101046 Differential Revision: https://developer.blender.org/D15969
2022-09-23Cleanup: use ELEM macroCampbell Barton
2022-09-23Cleanup: add string utility macros to GHOST/WaylandCampbell Barton
Use STREQ for readability.
2022-09-23Cleanup: float literalsCampbell Barton
2022-09-23Docs: minor improvements to info_advanced_blender_as_bpy wordingCampbell Barton
2022-09-23Fix T100141: Header Alignment of New EditorsCampbell Barton
Revert part of [0] which changed logic for scaling 2D regions when the window resize. This re-introduces T72392 which can be fixed separately. [0]: 6243972319289d86c70ce9946d10909e7eddfdaf
2022-09-23Cleanup: replace int return value with boolCampbell Barton
2022-09-23Cleanup: avoid unnecessary access to context.space_dataCampbell Barton
2022-09-23Cleanup: use lowercase function calls & macros in for CMakeCampbell Barton
This is already the case for most CMake usage. Although some find modules are an exception to this, as they were originally maintained externally they use some different conventions. Also corrected bad indentation in: intern/cycles/CMakeLists.txt
2022-09-23Cleanup: spelling in commentsCampbell Barton
2022-09-23Cleanup: formatCampbell Barton
2022-09-23Cleanup: compiler warningsCampbell Barton
2022-09-23Fix: Add missing drag link search item for store named attribute nodeHans Goudey
The search didn't add an item for the geometry output socket.
2022-09-22Curves editmode: show point selectionPhilipp Oeser
Points cannot be selected atm in editmode, this patch just shows the selection from sculptmode in editmode. Since the selection in sculptmode is a float, a point is considered selected as soon as the float selection is above 0.0f. Implementation: this piggy-back on the existing drawing via overlay_edit_curve_point.glsl which requires a "data" VBO which holds flags for selection (next to others such as "active" - which we also have to take care of later). Differential Revision: https://developer.blender.org/D16021
2022-09-22Fix T100846: Bump blender file min version for forward compatibility warningCharlie Jolly
Also reported in blender.chat. Corrupted files were reported after opening files with the new Mix node (rBbfa0ee13d539). Files saved in 3.4 will not be compatible with older versions of Blender. Opening these files in previous versions will exhibit a red undefined node. Reviewed By: HooglyBoogly, brecht Differential Revision: https://developer.blender.org/D16025
2022-09-22GPU: Ensure rendering operations occur within GPU render boundaries.Jason Fielder
This is required by the Metal backend to perform flushing of temporary objective-C resources. This is implemented as a global autoreleasepool, and is to ensure consistency such that all rendering operations, whether called via events, or via main loop will be within an autoreleasepool. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Differential Revision: https://developer.blender.org/D15900
2022-09-22Metal: GLSL shader compatibility changes for global uniform and interface ↵Jason Fielder
name collision. For the Metal shader translation support for shader-global uniforms are remapped via macro's, and in such cases where a uniform name matches a vertex attribute name, compilation errors will occur due to this injected syntax being incompatible with the immediate code. Also adding source-level function interface alternatives where sized arrays are passed in. These are not supported directly in Metal shading language and are instead handled as pointers. These pointers require explicit address-space qualifiers in some cases, if device/constant address space memory is passed into the function. Ref T96261 Reviewed By: fclem Differential Revision: https://developer.blender.org/D15898
2022-09-22Metal: First set of Geometry Shader alternative implementations using SSBO ↵Jason Fielder
vertex shader fetch. These implementations remove dependency on the Geometry pass by instead invoking one vertex shader instance for each expected output vertex, matching what a geometry shader would emit. Each vertex shader instance is then responsible for calculating the same output position based on its vertex_id as the logic would in the geometry shader version. SSBO Vertex fetch enables full random-access into a vertex buffer by binding it as a read-only SSBO. This enables each instance to read neighbouring vertex data to perform contextual calculations as a geometry shader would, for cases where attribute Multiload is not supported. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Differential Revision: https://developer.blender.org/D15901
2022-09-22Metal: MTLContext implementation and immediate mode rendering support.Thomas Dinges
MTLContext provides functionality for command encoding, binding management and graphics device management. MTLImmediate provides simple draw enablement with dynamically encoded data. These draws utilise temporary scratch buffer memory to provide minimal bandwidth overhead during workload submission. This patch also contains empty placeholders for MTLBatch and MTLDrawList to enable testing of first pixels on-screen without failure. The Metal API also requires access to the GHOST_Context to ensure the same pre-initialized Metal GPU device is used by the viewport. Given the explicit nature of Metal, explicit control is also needed over presentation, to ensure correct work scheduling and rendering pipeline state. Authored by Apple: Michael Parkin-White Ref T96261 (The diff is based on 043f59cb3b5835ba1a0bbf6f1cbad080b527f7f6) Reviewed By: fclem Differential Revision: https://developer.blender.org/D15953
2022-09-22Metal: MTLVertBuf implementation and support for texture creation from ↵Thomas Dinges
vertex buffers. Metal: MTLVertBuf implementation and support for texture creation from vertex buffers. Authored by Apple: Michael Parkin-White Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D15452
2022-09-22Geometry Nodes: Add Self Object NodeHans Goudey
From the nodes' description: "Retrieve the object that contains the geometry nodes modifier currently being executed". This was discussed in the most recent geometry nodes module meeting. Because the node allows you to retrieve the position of the modifier object, it has to add a depsgraph relation to object transform. Expect that modifiers will be reevaluated when moving the object. In the future, better static analysis of node trees could make this check smarter. Differential Revision: https://developer.blender.org/D16037
2022-09-22Fix crash loading fonts that fail to be readCampbell Barton
Null pointer dereference since [0] when font's can't be read. [0]: d39abb74a0a99fde2c9d845821d52c198ae4da24