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
2021-02-25Cleanup: spellingCampbell Barton
2021-02-24Geometry Nodes: store available attribute names in node ui storageJacques Lucke
This information will be used by the attribute search in string sockets. Ref T85657. Differential Revision: https://developer.blender.org/D10462
2021-02-24PyAPI: Fix memory leak of parameters used for python 'draw_callbacks'Germano Cavalcante
When closing the blender, while the callbacks are removed, the reference count of the object used as `customdata` is not decremented. This commit adds two functions that correctly release the python `draw_callbacks` before releasing all `draw_callbacks`. Differential Revision: https://developer.blender.org/D10478
2021-02-24Cleanup: CryptomatteLayerJeroen Bakker
Missing code flow.
2021-02-24Cleanup: Cryptomatte Use StringRef(Null).Jeroen Bakker
2021-02-24Cleanup: CryptomatteLayer structure.Jeroen Bakker
Current implementation was to restricting for future enhancements where the CryptomatterLayer could be read from existing metadata.
2021-02-24Cleanup: spellingCampbell Barton
2021-02-24Geometry Nodes: Move node UI storage function to BKEHans Goudey
This function will be used in another file with attribute search, so it makes sense to share from the UI storage header.
2021-02-23Geometry Nodes: improve accessing attribute meta dataJacques Lucke
This allows accessing attribute meta data like domain and data type without having to create a `ReadAttribute`. I kept the `attribute_names` method for now to keep the patch more self contained. Differential Revision: https://developer.blender.org/D10511
2021-02-22Cleanup: Use more clear field nameSergey Sharybin
Disambiguate which time the frames are measured in.
2021-02-22Cleanup: Tracking, reduce indentation levelSergey Sharybin
2021-02-22Cleanup: Clang tidy inconsistent parameter nameHans Goudey
Use the most recent names for the conflicting parameters.
2021-02-22Fix compilation error in bypass bmesh commit when GMP not defined.Howard Trickey
2021-02-22Added a cast needed to shut up an error in last commit.Howard Trickey
2021-02-22Change Exact Boolean modifier to skip round trip through BMesh.Howard Trickey
The Exact modifier code had been written to avoid using BMesh but in the initial release the modifier still converted all Meshes to BMeshes, and then after running the boolean code on the BMeshes, converted the result back to a Mesh. This change skips that. Most of the work here is in getting the Custom Data layers right. The approach taken is to merge default layers from all operand meshes into the final result, and then use the original verts, edges, polys, and loops to copy or interpolate the appropriate custom data layers from all operands into the result.
2021-02-20Python: Add to_curve method to the object APIOmar Emara
This patch adds a to_curve method to the Object ID. This method is analogous to the to_mesh method. The method can operate on curve and text objects. For text objects, the text is converted into a 3D Curve ID and that curve is returned. For curve objects, if apply_modifiers is true, the spline deform modifiers will be applied and a Curve ID with the result will be returned, otherwise a copy of the curve will be returned. The goal of this addition is to allow the developer to access the splines of text objects and to get the result of modifier applications which was otherwise not possible. Reviewed By: Brecht Differential Revision: https://developer.blender.org/D10354
2021-02-20Cleanup: Split grease pencil selection index functionsAntonio Vazquez
This makes the code more readable.
2021-02-20Cleanup: spellingCampbell Barton
2021-02-20Cleanup: remove duplicate enumCampbell Barton
2021-02-20Geometry Nodes: Add string input nodeEdgar Roman Cervantes
This commit adds a simple string input node, intended for use in the attribute workflow to make using the same attribute name in multiple places easier. The node is function node similar to the existing vector input node. Ref T84971 Differential Revision: https://developer.blender.org/D10316
2021-02-19Geometry Nodes: Add simple subdivision surface nodeEitan
Add the Simple subdivision option to Geometry nodes, as a new node instead of part of the existing subdivision node because of future backend changes to the Simple option. (See T85584) https://developer.blender.org/D10409
2021-02-19Geometry Nodes: forbid creating attribute with empty nameJacques Lucke
Empty attribute names are just a recipe for problems.
2021-02-19GPencil: Interpolate Tools refactorAntonio Vazquez
Following with the changes included to interpolate strokes of different number of points, a full review has been done in the interpolation tools. * Interpolate now is a tool and not an operator. It was not logic to have this tool as a button. * Interpolate tool parameters have been moved to topbar. * Interpolate popover has been removed from topbar and interpolate `Sequence` operator has been moved to grease pencil menu. * Interpolate Sequence now include a Redo panel. * Interpolate tool now allows to select the strokes by pairs. This allows to interpolate any stroke with any stroke and not as before that it was only possible by drawing order. If no stroke is selected, the interpolation is done as before. * Now is possible interpolate again if a previous keyframe exist. Before, it was impossible to interpolate two times in same frame and this made impossible to do the interpolation by groups of frames. * New automatic option to `Flip strokes` if the stroke and end are not in the right position. Also the flip can be set manually for corner cases. * Cleanup of menus related to interpolate. * Fixed some bugs and removed parameters from scene because now all are tool or operator contained. * Some code cleanup and function renames. This commit also includes the some codebase to future implementation of the concept `Vertex Active` that now does not exist in grease pencil.
2021-02-19UI: FModifier layout updates, drag and dropHans Goudey
This patch implements the list panel system D7490 for FCurve modifiers. The UI layouts are updated to make use of subpanels and to be consistent with the rest of the interface, and easier to understand. See the differential revision for screenshots. This commit also significantly cleans up the FModifier UI code, and improves, mainly by replacing the old button creation code is with the newer interface API using RNA. In turn there is a bit of complexity added because each FModifier has a separate panel. Although reordering of FModifiers was not implemented before, we get drag and drop basically for free here, so it is also included. As noted in some older to do tasks, FModifiers aren't evaluated in perfect order, which may be a point of improvement for the future. Differential Revision: https://developer.blender.org/D7997
2021-02-19Geometry Nodes: add method to get all geometry components in a setJacques Lucke
Previously, functions would have to ask for every geometry type explicitely. Using a vector is return type is fine. In practice this will probably never allocate because of the small buffer optimization in vector.
2021-02-19Cleanup: fix asan warningsJacques Lucke
2021-02-19Cleanup: extract function to get node ui storageJacques Lucke
This function will be used by multiple functions.
2021-02-19Nodes: ensure ui storage implicitelyJacques Lucke
This makes it easier to use the api.
2021-02-19Cleanup: Remove type from global namespace in C++ headerHans Goudey
2021-02-18GPencil: Small frame evaluation speed up improvementAntonio Vazquez
Avoid look for frame if the actual frame is already available.
2021-02-18Cleanup: sort structs, file-listsCampbell Barton
2021-02-18Cleanup: rename AttributeInfo to AttributeKindJacques Lucke
"Kind" is a bit less generic than "Info" for me. Especially, it implies that the struct does not contain the name of a specific attribute (for me anyway).
2021-02-18Geometry Nodes: support adapting point to corner domainJacques Lucke
This allows accessing per-point attributes on the corner domain, which can be useful e.g. when adding per-point displacement to per-corner uv coordinates. Also it is required to make an upcoming patch work well, that makes the Point Distribute node use density weights per corner instead of per point, giving the user more precise control over the distribution.
2021-02-18Geometry Nodes: support accessing vertex colorsJacques Lucke
This makes vertex colors available in geometry nodes similar to how uvs are available. They can be used using the attribute system. Vertex colors are stored per corner (as are uvs, but not like vertex weights). Ref T84297. Differential Revision: https://developer.blender.org/D10454
2021-02-18Geometry Nodes: convert point cloud to mesh vertices for modifiersJacques Lucke
Previously, when a Geometry Nodes modifier outputs a point cloud (e.g. generated using the Point Distribute node), other modifiers could not use that data. Now, the point cloud data is converted to mesh vertices for such modifiers. Ref T85281. Differential Revision: https://developer.blender.org/D10451
2021-02-17Cleanup: Abbreviate enums with 'UNSIGNED_' in the nameGermano Cavalcante
2021-02-17BLI: add BLI_simd.h header to wrap SSE includesBrecht Van Lommel
In preparation of adding Neon support. Ref D8237, T78710
2021-02-17Geometry Nodes: Expose material index attributeHans Goudey
The `material_index` attribute can adjust which material in the list will be applied to each face of the mesh. There are two new things about this attribute that haven't been exposed by the attribute API yet. Each comes with limitations: 1. Integer data type: Most attribute nodes are currently written to use float data types. This means that they can't write to this attribute because they can't change the type of a built-in attribute. 2. Polygon domain: This is our first attribute using the polygon domain, meaning until some of the interpolations are implemented, some operations may not work as expected. Currently the two nodes that work with this attribute are Attribute Fill and Attribute Randomize. Differential Revision: https://developer.blender.org/D10444
2021-02-17Geometry Nodes: realize instances before deform modifierJacques Lucke
This is a follow up commit for rB96da8e9ca302b8d879744. Ref T85281.
2021-02-17Geometry Nodes: realize instances before passing geometry to constructive ↵Jacques Lucke
mesh modifier Previously, when the output of a Geometry Nodes modifier would contain instances, those could not be accessed by other existing modifiers (e.g. the Array modifier). That is because those modifiers don't know about instances. Upcoming commits will improve an this in two ways: * Also realize instances before deform modifiers. * Convert a point cloud in the geometry to mesh vertices so that they can be accessed as well. Note, making instances real can result in loosing some information that we do not support in Geometry Nodes yet. That includes some special builtin attributes like bevel weights. Ref T85281. Differential Revision: https://developer.blender.org/D10432
2021-02-17Fix: NLA Blend Domain Enable All TypoWayde Moss
Introduced by my recent commit: rBc48360c2559a Accidentally used 4 instead of `necs->length`.
2021-02-17Fix: NLA Blends Non-Animated Upper Channel ValuesWayde Moss
Issue introduced by my commit: rB40b7929cc040 **User-level Problem**: The issue resulted in a full-replace upper strip with only a Z location channel full-replacing the XY location channels of the lower stack. replaced to default. The expected behavior is that only the Z location channel is affected. **Technical-level Problem**: Before the problematic commit, fcurves were blended as they were read. So only existing animated channels would blend. My recent commit changed the process to read all fcurve values into an isolated upper_snapshot then blend with the lower stack. There is no data stored to know whether the upper snapshot channel values were sampled from fcurves or were default values. Only those sampled from fcurves should be blended. **Solution**: Added a `blend_domain` bitmask member to NlaEvalChannelSnapshot. The blending function only blends values within the `blend_domain`. Sampled fcurve values are now marked as within the `blend_domain`. We also now always copy the lower snapshot to the result snapshot which only matters when they aren't the same. Currently, it's always the same so the change is more for future unseen cases. Reviewed By: sybren, #animation_rigging Differential Revision: https://developer.blender.org/D10339
2021-02-17Cleanup: pass scene as constCampbell Barton
2021-02-17Cleanup: remove commented functionCampbell Barton
2021-02-17Fix T85664: 3D Viewport issues with curve poly splinesHans Goudey
Caused by cleanup in rBcdb3cbd64401, where an index was used to index `float *` instead of `float[3]`.
2021-02-17Geometry Nodes: Node error messagesHans Goudey
This patch adds icons to the right side of nodes when they encounter a a problem. When hovered, a tooltip displays describing the encountered while evaluating the node. Some examples are: attribute doesn't exist, mesh has no faces, incorrect attribute type, etc. Exposing more messages to the system will be an ongoing process. Multiple warnings per node are supported. The system is implemented somewhat generically so that the basic structure can also be used to store more information from evaluation for the interface, like a list of available attributes. Currently the messages are just button tooltips. They could be styled differently in the future. Another limitation is that every instance of a node group in a parent node tree will have the same error messages, the "evaluation context" used to decide when to display the tooltips must be extended to support node tree paths. Differential Revision: https://developer.blender.org/D10290
2021-02-16UI: Add support for bl_description for panelsAaron Carlisle
This commit adds support for `bl_description` and python docstrings for panels. This is useful for pop-over panel types so they can have a label and description. This commit also includes an example use case. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10429
2021-02-16Fix T85697: implement interpolation for float custom data typeJacques Lucke
This just hasn't been implemented before.
2021-02-16Merge branch 'blender-v2.92-release'Philipp Oeser
2021-02-16Fixes T84928 : Lattice vertices at unexpected positions when changing ↵Pratik Borhade
lattice resolution from 1 to 3 or more. Fix for T84928 . Considering the changes , issue is resolved ( Ignoring readability issues) . **Changes **: - `Change in value assignment of fu/v/w :` Observing previous code , I noticed ,value assigned to them is equivalent to -0.5 ( i.e. co-ordinate of left most vertex of lattice size =1 where centre of lattice is origin ) . - `Change in value assignment of du/v/w :` Margin ( distance ) between each division of surface along any axis is equivalent to **( (length of surface along axis ) / (no of division line - 1) )** . that's why is changed it to (default_size/unew -1) . - ` New variable declared "default_size" :` As far as I gone through the code , I noticed values 1 < du ,fu < 1 , which indicates these values were calculated with respect to default lattice of size 1 . - `removed pntsu/v/w != 1 check :` Following changes inside the if block worked properly for pntsu/v/w = 1 . Reviewed By: lichtwerk, campbellbarton Differential Revision: https://developer.blender.org/D10353