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-08-30Attributes: Improve custom data initialization optionsHans Goudey
When allocating new `CustomData` layers, often we do redundant initialization of arrays. For example, it's common that values are allocated, set to their default value, and then set to some other value. This is wasteful, and it negates the benefits of optimizations to the allocator like D15082. There are two reasons for this. The first is array-of-structs storage that makes it annoying to initialize values manually, and the second is confusing options in the Custom Data API. This patch addresses the latter. The `CustomData` "alloc type" options are rearranged. Now, besides the options that use existing layers, there are two remaining: * `CD_SET_DEFAULT` sets the default value. * Usually zeroes, but for colors this is white (how it was before). * Should be used when you add the layer but don't set all values. * `CD_CONSTRUCT` refers to the "default construct" C++ term. * Only necessary or defined for non-trivial types like vertex groups. * Doesn't do anything for trivial types like `int` or `float3`. * Should be used every other time, when all values will be set. The attribute API's `AttributeInit` types are updated as well. To update code, replace `CD_CALLOC` with `CD_SET_DEFAULT` and `CD_DEFAULT` with `CD_CONSTRUCT`. This doesn't cause any functional changes yet. Follow-up commits will change to avoid initializing new layers where the correctness is clear. Differential Revision: https://developer.blender.org/D15617
2022-08-30BLF: Fallback Stack Error HandlingHarley Acheson
Properly handle invalid fonts. See D15798 for more details Differential Revision: https://developer.blender.org/D15798 Reviewed by Brecht Van Lommel
2022-08-30Merge branch 'blender-v3.3-release'Philipp Oeser
2022-08-30Fix T93084: Area stretch overlay full red on large scale meshPhilipp Oeser
Issue arises when face areas are really large combined with small UV areas (report has a mesh ~1.5 km), then precission of shorts is insufficient. Now use floats instead. This also removes this negative signed version of the total area ratio (since with floats it is no longer used). Thx @brecht for a lot of hand-holding! NOTE: this is an alternative to D15805 (and quick tests show this does not introduce the tiny performance hit as D15805 did). Maniphest Tasks: T93084 Differential Revision: https://developer.blender.org/D15810
2022-08-30Fix: Build error on windowsHans Goudey
2022-08-30Fix build error from missing includeHans Goudey
2022-08-30Geometry Nodes: Use separate field context for each geometry typeHans Goudey
Using the same `GeometryComponentFieldContext` for all situations, even when only one geometry type is supported is misleading, and mixes too many different abstraction levels into code that could be simpler. With the attribute API moved out of geometry components recently, the "component" system is just getting in the way here. This commit adds specific field contexts for geometry types: meshes, curves, point clouds, and instances. There are also separate field input helper classes, to help reduce boilerplate for fields that only support specific geometry types. Another benefit of this change is that it separates geometry components from fields, which makes it easier to see the purpose of the two concepts, and how they relate. Because we want to be able to evaluate a field on just `CurvesGeometry` rather than the full `Curves` data-block, the generic "geometry context" had to be changed to avoid using `GeometryComponent`, since there is no corresponding geometry component type. The resulting void pointer is ugly, but only turns up in three places in practice. When Apple clang supports `std::variant`, that could be used instead. Differential Revision: https://developer.blender.org/D15519
2022-08-30Merge branch 'blender-v3.3-release'Hans Goudey
2022-08-30Fix T99253: Missing face center dots with deform modifier cage optionHans Goudey
Before 8c25889bb67db4c, subsurf face center tags were stored in each vertex, so they were always copied to duplicate meshes. Now they are stored in runtime data though, so they need to be copied explicitly. The function name "reset_on_copy" is a bit awkward here, so the tags are copied by the caller.
2022-08-30GPencil: Improve Thickness handling for Outline operatorAntonio Vazquez
Actually, when you increase the thickness of the stroke in the outline conversion, the shape of the stroke changes and becomes thicker. This commit includes a new algorithm to correct this problem. A new `Keep Shape` parameter allows you to disable it because, for artist reasons, it may be good to keep the old algorithm and change the shape.
2022-08-30Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-30LibOverride: Minor resync optimization by removing unuecessary processing.Bastien Montagne
Not much to gain here, but can make resync faster by a few percents when dealing with linked overrides and such.
2022-08-30Cleanup: Remove one level of indentation by early continue in a loop.Bastien Montagne
2022-08-30Fix T100586: libOverride resync could remove too many data-blocks.Bastien Montagne
Do not delete 'orphaned' overrides when their reference is missing because the library file itself is missing.
2022-08-30Cleanup: simplify comparison, clarify commentCampbell Barton
2022-08-30Merge branch 'blender-v3.3-release'Campbell Barton
2022-08-30Fix error in operator poll functionsCampbell Barton
- PALETTE_OT_color_add: crashed without a brush. - SCREEN_OT_actionzone: crashed without a window. - PREFERENCES_OT_studiolight_show: exception when opening prefs failed.
2022-08-30Merge branch 'blender-v3.3-release'Jacques Lucke
2022-08-30Cleanup: Avoid misleading Outliner tree element callback nameJulian Eisel
These functions used the term "find", which makes it sound like a lookup callback, when in fact it would add elements to a set for further processing. So use "collect" instead.
2022-08-30Fix T100673: crash when using slide brush without attachment infoJacques Lucke
The slide brush requires attachment information on the curves. Now a warning is shown instead of crashing Blender. The attachment information can be generated by executing the `Curves > Snap to Nearest Surface` operator.
2022-08-30Merge branch 'blender-v3.3-release'Campbell Barton
2022-08-30Fix T100703: Crash in file reading with ID's referenced from the WMCampbell Barton
Don't decrement ID reference counts as any ID references from the window-managers will have already been freed. Reviewed By: mont29 Ref D15808
2022-08-30EEVEE-Next: Register render passes for compositor.Jeroen Bakker
EEVEE-Next passes were rendered to the render result, but didn't appear in the compositor. Reasoning is that when a render engine has the update render passes callback registered it would not register any default render passes. This callback is used to update the Render Layer node. This patch implements the callback for EEVEE-Next with the render passes that are already available. In the future the callback should be extended. Note that AO/SHADOW render passes have been disabled for now as they need to be converted to color buffers.
2022-08-30GPencil: Rename in Outline operator `mode` with `material_mode`Antonio Vazquez
The old name `mode` was confusing because there was also a `view_mode`.
2022-08-30GPencil: Add `thickness` parameter to Outline operatorAntonio Vazquez
Instead to use always a value of 1, now the thickness of the stroke perimeter can be set. This thickness is added to the original perimeter, so using a big number can increase the global thickness of the stroke.
2022-08-30Cleanup: spelling in commentsCampbell Barton
2022-08-30Cleanup: formatCampbell Barton
2022-08-30Cleanup: Remove misleading std::string reference bindingHans Goudey
These functions that retrieve strings from assets return stringrefs. Storing them as std::strings is unnecessary and relies on binding to the const references.
2022-08-30Cleanup: Use const for custom data layersHans Goudey
2022-08-30Sculpt: Avoid creating mask and face set when remeshingHans Goudey
If these layers didn't exist on the original mesh, they would be created from scratch and transferred anyway. That is inefficient because all the work is pointless, and because creating these layers could slow down subsequent sculpt operations.
2022-08-29Merge branch 'blender-v3.3-release'Hans Goudey
2022-08-29Fix: Broken build with OpenVDB turned offHans Goudey
Problem with e3a6a2f41284f90b010.
2022-08-29Fix T99576: Guard against empty names when removing attributesTom Edwards
It's possible for misbehaving scripts written before 3.3 to reach this state and crash Blender. With this change, the error is reduced to a Python exception. Differential Revision: https://developer.blender.org/D15724
2022-08-29Fix T98968: Node reroute tool doesn't add to framesPratik Borhade
If reroute node lies in side the frame node boundaries then set frame node as the parent of reroute. Differential Revision: https://developer.blender.org/D15739
2022-08-29Fix T98968: Node reroute tool doesn't add to framesPratik Borhade
If reroute node lies in side the frame node boundaries then set frame node as the parent of reroute. Differential Revision: https://developer.blender.org/D15739
2022-08-29Cleanup: move Cycles display driver context handling to render moduleBrecht Van Lommel
This is highly coupled to Blender logic so doesn't belong in Cycles.
2022-08-29Cleanup: move part of render module to C++Brecht Van Lommel
2022-08-29Fix: Broken build with OpenVDB turned offHans Goudey
Problem with e3a6a2f41284f90b010.
2022-08-29Fix (studio-reported) crash when linking/appending data in some cases.Bastien Montagne
Recent refactor (rB7be1c8bbae76f49f) removed a null check in WM code, that is mandatory in some cases like e.g. liboverride apply code on linked data.
2022-08-29Merge branch 'blender-v3.3-release'Jacques Lucke
2022-08-29Fix T99004: scaling volume down results in crashJacques Lucke
OpenVDB crashes when the determinant of the grid transformation is too small. The solution is too detect when the determinant is too small and to replace the grid with an empty one. If possible the translation and rotation of the grid remains unchanged. Differential Revision: https://developer.blender.org/D15806
2022-08-29I18n: disambiguate and make a few more strings translatableDamien Picard
Those strings were at least partly disambiguated: - Area - Zone - Measurement - Ease - BBone Ease In / Out - Back - Camera BG image depth - GP interpolate sequence - Edge Crease - Theme - Jitter - Brush - GPencil - Lens distorsion compositing node - Cineon color management - Black - Gamma - White Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15791
2022-08-29Add missing RNA text for the MeshUVLoop structDamien Picard
The structures in rna_mesh.c all had a UI text which showed up in the animation editors, except for MeshUVLoop. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15803
2022-08-29I18n: translate newly created node group socketsDamien Picard
Translate: - new group socket names - default names Input and Output - on connecting a link from another node - new geometry nodes input and output socket names Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15763
2022-08-29Weight Paint: use coordinates from normal evaluated mesh if same topology.Alexander Gavrilov
Weight and Vertex paint don't change coordinates and thus don't need crazyspace data, which allows using coordinates from normal evaluated meshes. Since painting uses original topology, the deform only mesh is used, but if the fully evaluated mesh has the same topology, it is preferred. This is useful because not only Geometry Nodes, but even simple weight computation modifiers are excluded from the deform only mesh evaluation. Differential Revision: https://developer.blender.org/D15501
2022-08-29GPencil: New conversion to outline in draw modeAntonio Vazquez
This new option converts the stroke to outline perimeter as soon as is drawn. If no alternative material is set, the actual material is used. The algorithm is similar to the new operator in D15664 Reviewed By: pepeland Differential Revision: https://developer.blender.org/D15738
2022-08-29Fix compilation issue in MTLQueryPool::allocate_buffer.Jeroen Bakker
This compilation issue happened due to multiple patches being handled at the same time one overwriting a correction of the other.
2022-08-29Cleanup: Add missing override keyword in mtl_backend.Jeroen Bakker
2022-08-28Cleanup: Slightly improve virtual array implementation consistencyHans Goudey
Previously the base virtual array implementation optimized for common cases where data is stored as spans or single values. However, that didn't make sense when there are already sub-classes that handle those cases specifically. Instead, implement the faster materialize methods for each class. Now, if the base class is reached, it means no optimizations for avoiding virtual function call overhead are used. Differential Revision: https://developer.blender.org/D15549
2022-08-28Curves: Avoid creating types array when unnecessaryHans Goudey
When the curve type attribute doesn't exist, there is no reason to create an array for it only to fill the default value, which will add overhead to subsequent "add" operations. I added a "get_if_single" method to virtual array to simplify this check. Also use the existing functions for filling curve types. Differential Revision: https://developer.blender.org/D15560