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-07-03Fix T99316: Crash with no font in String to Curves nodeIliay Katueshenock
If you remove the default font from the project, the node will not have the selected font. In this case, there is no check that the font does not exist. This suggestion adds an error message if the font is not specified. Differential Revision: https://developer.blender.org/D15337
2022-07-02Fix: Build error with unity builds off after recent cleanupHans Goudey
Mistake in df8d96ab66adf46603b36
2022-07-02Revert "Start of Bevel V2, as being worked on with task T98674."Howard Trickey
This reverts commit 9bb2afb55e50f9353cfc76cf2d8df7521b0b5feb. Oops, did not intend to commit this to master.
2022-07-02Start of Bevel V2, as being worked on with task T98674.Howard Trickey
This is the start of a geometry node to do edge, vertex, and face bevels. It doesn't yet do anything but analyze the "Vertex cap" around selected vertices for vertex bevel.
2022-07-02BLI: improve span access to virtual arraysJacques Lucke
* Make the class names more consistent. * Implement missing move-constructors and assignment-operators.
2022-07-01Geometry Nodes: remove warning in Points nodeJacques Lucke
Generating no points in some frames is a perfectly valid use case.
2022-07-01Cleanup: Remove unnecessary includes from geometry nodes headerHans Goudey
2022-07-01Fix: Incorrectly sized curves created in set conversion nodeHans Goudey
The number of points in the source curve was needed, but the offset (just zero) was passed instead. It's unclear how this worked before. A mistake in the recent commit 9e393fc2f12583d32dd. Also use a common utility for retrieving the sizes of curves in ranges instead of reimplementing it for this file.
2022-07-01Cleanup: Avoid assigning constructed VArray to referenceHans Goudey
This is clearer about what is actually happening (VArray is small enough to be a by-value type and is constructed on demand, while only the generic virtual array is stored).
2022-07-01Fix T99309: Duplicate elements deletes instance attributesHans Goudey
The node had incorrect handling of instance attributes. For the instance component, instead of using the instance domain over the point domain, it just looked through instances recursively when retrieving attributes. We never want to do that, since we only work on one geometry at a time. Instead, just switch out the instance domain for the point domain like the set position node.
2022-06-29Geometry Nodes: Only calculate mesh to volume bounds when necessaryHans Goudey
In "size" voxel resolution mode, calculating the bounds of the mesh to volume node's input mesh isn't necessary. For high poly this can take a few milliseconds, so this commit skips the calculation unless we need it for the "Amount" mode. Differential Revision: https://developer.blender.org/D15324
2022-06-29Geometry Nodes: UV Unwrap and Pack Islands NodesAleksi Juvani
This commit adds new Unwrap and Pack Islands nodes, with equivalent functionality to the existing Unwrap and Pack Islands operators. The Unwrap node uses generic boolean attributes to determine seams instead of looking at the seam flags in the mesh geometry. Unlike the Unwrap operator, the Unwrap node doesn't perform aspect ratio correction, because this is trivial for the user to implement with a Vector Math node if it is desired. The Unwrap node implicitly performs a Pack Islands operation upon completion, because the results may not be generally useful otherwise. This matches the behaviour of the Unwrap operator. The nodes use the existing Vector socket type, and do not introduce a new 2D Vector type (see T92765). Differential Revision: https://developer.blender.org/D14389
2022-06-29Geometry Nodes: Add Mesh To Volume NodeErik Abrahamsson
This adds a Mesh To Volume Node T86838 based on the existing modifier. The mesh to volume conversion is implemented in the geometry module, and shared between the node and the modifier. Currently the node outputs a grid with the name "density". This may change in the future depending on the decisions made in T91668. The original patch was by Kris (@Metricity), further implementation by Geramy Loveless (@GeramyLoveless), then finished by Erik Abrahamsson (@erik85). Differential Revision: https://developer.blender.org/D10895
2022-06-29UI: add tooltips for nodes to the shader node add menuArye Ramaty
These are based on the descriptions from the manual, with various changes. Differential Revision: https://developer.blender.org/D15309
2022-06-29Fix T99104: EEVEE: Regression: Crash when using Light Output in MaterialsClément Foucault
Using Light output is supported in Cycles. This patch adds support for it and remove the crash in `ntree_shader_weight_tree_invert()` by treating it as any other outputs. Candidate for 3.2.1 corrective release.
2022-06-29Fix: Use distance unit for points node radius inputHans Goudey
2022-06-26Curves: Port string to curves node to the new data-blockHans Goudey
Use the conversion implemented in 5606942c63bf81afa16.
2022-06-25Geometry Nodes: Field on Domain NodeHans Goudey
As described in T98943, this commit adds a node that can evaluate a field on a separate domain in a larger field context. This is potentially useful in many cases, to avoid relying on a separate capture attribute node, which can make it easier to build reusable fields that don't need geometry inputs. Internally, the node just evaluates the input field in the larger field context and then uses the generic domain interpolation, so the code is simple. One future optimization might be using the input selection to only evaluate part of the input field, but then the selection has to be interpolated as well, and that might not always be worth it. Differential Revision: https://developer.blender.org/D15289
2022-06-25Geometry Nodes: Add Points NodeJohnny Matthews
This node takes a point count,a vector field, and float field and creates a pointcloud with n points at the positions indicated in the vector field with the radii specified in the float field.The node is placed in the "Point" menu. Differential Revision: https://developer.blender.org/D13920 Maniphest Task: https://developer.blender.org/T93044
2022-06-24Fix T99130: Spline factor gets messed up if one hair is too shortDalai Felinto
In the cases where length is zero, we simply equally distribute the value based on the control point/curve index. Differential Revision: https://developer.blender.org/D15285
2022-06-23Geometry Nodes: Speed up Separate color node in RGB modeHans Goudey
This applies the same optimization as b8bd304bd45397b8c to the separate color node. I observed about a 50% improvement with 10 million values when only extracting one channel-- from about 17ms to 11ms.
2022-06-23Mesh: Add an explicit "positions changed" functionHans Goudey
We store various lazily calculated caches on meshes, some of which depend on the vertex positions staying the same. The current API to invalidate these caches is a bit confusing. With an explicit set of functions modeled after the functions in `BKE_node_tree_update.h`, it becomes clear which function to call. This may become more important if more lazy caches are added in the future. Differential Revision: https://developer.blender.org/D14760
2022-06-23Fix T99028: crash deleting file output node with color management overrideBrecht Van Lommel
One case of copying image formats was not properly using BKE_image_format_copy. To fix this for existing .blend file we need to do versioning, ensuring the curve mapping is properly copied.
2022-06-22Fix: Memory leak writing to builtin attribute with wrong typeHans Goudey
The store named attribute node creates a new buffer to evaluate the field into. When creating the attribute with that buffer fails, if must be freed.
2022-06-21Cleanup: removed unused Blender Internal bump/normal mapping texture codeBrecht Van Lommel
The TexResult.nor output does not appear to be used anywhere.
2022-06-21Fix T98919: Eevee unlinked aov output nodes don't render.Jeroen Bakker
Eevee rendered an empty image for aov nodes that weren't linked to any other nodes. When connected the result was OK. The root cause was that the AOV nodes were not marked as output node and pruned when not connected to any other nodes. The pruning process is there to reduce the complexity of the GLSL and improve compilation time and execution time.
2022-06-20Fix T94969: Crash in Volume to Mesh with 0 voxelsErik
Checks if voxel amount or -size is <= 0 and if so, returns early. Differential Revision: https://developer.blender.org/D15241
2022-06-18Geometry Nodes: speedup Separate XYZ nodeJacques Lucke
This speeds up the node ~20% in common cases, e.g. when only the X axis is used. The main optimization comes from not writing to memory that's not used afterwards anymore anyway. The "optimal code" for just extracting the x axis in a separate loop was not faster for me. That indicates that the node is bottlenecked by memory bandwidth, which seems reasonable.
2022-06-17Geometry Nodes: new Volume Cube nodeChris Clyne
This commit adds a Volume Cube primitive node. It outputs a volume that contains a single "density" float grid. The density per voxel can be controlled with a field that depends on the voxel position (using the existing Position node). Other field inputs are not supported. The density field is evaluated on every voxel. Possible future improvements are listed in D15198. Differential Revision: https://developer.blender.org/D15198
2022-06-17Geometry Nodes: tweak Volume to Mesh threshold declarationJacques Lucke
* Remove the minimum value, because that doesn't make sense in general. * Add a description.
2022-06-16Geometry Nodes: add 'Intersecting Edges' output for boolean nodePhilipp Oeser
This patch adds a 'Intersecting Edges' output with a boolean selection that only gives you the new edges on intersections. Will work on a couple of examples next, this should make some interesting effects possible (including getting us closer to the "bevel- after-boolean-usecase") To achieve this, a Vector is passed to `direct_mesh_boolean` when the iMesh is still available (and intersecting edges appended), then from those edge indices a selection will be stored as attribute. Differential Revision: https://developer.blender.org/D15151
2022-06-14Fix T98718: Face Is Planar Node Not handling Certain ConditionsJohnny Matthews
The comparison between dot products of each point of the poly were not taking into consideration negative values. FLT_MIN was used rather than -FLT_MAX due to a misunderstanding of the FLT_MIN definition. Maniphest Tasks: T98718 Differential Revision: https://developer.blender.org/D15161
2022-06-10Fix: Missing includeHans Goudey
2022-06-09Curves: Port delete geometry node to the new curves typeHans Goudey
Add a method to remove points from the new curves type, just like the existing curve removal function. No functional changes are expected. The code is simpler because all data is just stored as attributes, but also different because the point data for all curves is stored in the same arrays. Similar performance improvements as other commits in T95443 are expected, expecially for cases where there are many small curves. Differential Revision: https://developer.blender.org/D15130
2022-06-09Cleanup: spelling in comments & variablesCampbell Barton
2022-06-08Fix: incorrect curve parameter for catmull rom curvesJacques Lucke
2022-06-08Fix: Heap buffer overflow in new curves set type nodeHans Goudey
2022-06-08Curves: Port set type node to new data-blockHans Goudey
This commit ports the "Set Spline Type" node to the new curves type. Performance should be improved in similar ways to the other refactors from the conversion task (T95443). Converting to and from Catmull Rom curves is now supported. There are a few cases where a lot of work can be skipped: when the number of points doesn't change, and when the types already match the goal type. The refactor has a few other explicit goals as well: - Don't count on initialization of attribute arrays when they are first allocated. - Avoid copying the entire data-block when possible. - Make decisions about which attributes to copy when changing curves more obvious. - Use higher-level methods to copy data between curve points. - Optimize for the common cases of single types and full selections. - Process selected curves of the same types in the same loop. The Bezier to NURBS conversion is written by Piotr Makal (@pmakal). Differential Revision: https://developer.blender.org/D14769
2022-06-07Cleanup: compiler warnings: unused args, missing include, parenthesisCampbell Barton
2022-06-06Geometry Nodes: Add Instance Scale Input NodeJohnny Matthews
A field input node for the scale of each top-level instance transform. The scale can be set with the "Scale Instances" node, but previously could not be retrieved. Differential Revision: https://developer.blender.org/D15132
2022-06-06Geometry Nodes: Instance Rotation NodeJohnny Matthews
A field input node for the rotation of each top-level instance transform. The rotation can be set with the "Rotate Instances" node, but previously could not be retrieved. Differential Revision: https://developer.blender.org/D15131
2022-06-06Geometry Nodes: Fix Assert in Duplicate ElementsJohnny Matthews
The original assert did not take into account the offset size in the loop being -1. The tests were then run in non-debug mode, so while the mesh regressions still passed, the false positive asserts that happened were not caught. Differential Revision: https://developer.blender.org/D15136
2022-06-05Geometry Nodes: Use fields for delete geometry inversionHans Goudey
The separate geometry and delete geometry nodes often invert the selection so that deleting elements from a geometry can be implemented as copying the opposite selection of elements. This should make the two nodes faster in some cases, since the generic versions of selection creation functions (i.e. from d3a1e9cbb92cca04e) are used instead of the single threaded code that was used for this node. The change also makes the deletion/separation code easier to understand because it doesn't have to pass around the inversion.
2022-06-05Cleanup: Use shorter variable nameHans Goudey
2022-06-03Cleanup: remove dead codeJacques Lucke
2022-06-02Fix: Build error after merge from release branchHans Goudey
2022-06-02Merge branch 'blender-v3.2-release'Hans Goudey
2022-06-02Fix T98556: Crash with extrude node in edit modeHans Goudey
The original index layer was not initialized properly. Supporting original indices properly for this node is doable, but for now it is better to simply initialize them to the "none" value to fix the crash. Differential Revision: https://developer.blender.org/D15105
2022-06-01Merge branch 'blender-v3.2-release'Philipp Oeser
2022-06-01Fix T98536: geometry nodes wrong selection on duplicate edgesPhilipp Oeser
Code was using the loop [which is looping over the selection] index as an index for the lookup into the edges directly, but needs to be a lookupinto the IndexMask. Also renamed the variable (as used elsewhere) to make this more clear. If accepted, would be nice to still get this into 3.2. Maniphest Tasks: T98536 Differential Revision: https://developer.blender.org/D15089