diff options
author | Jacques Lucke <jacques@blender.org> | 2021-01-13 14:34:48 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-01-13 14:44:17 +0300 |
commit | d985751324a81d0227d163981cc561968a88ff68 (patch) | |
tree | a9ddbf09ebc359a3aa927c9992a5f4571d3ab890 /source/blender/nodes/geometry/node_geometry_util.hh | |
parent | ed1042ee060caf5132822b947cac768f90b5ba12 (diff) |
Geometry Nodes: improve Point Distribute node
This greatly simplifies the Point Distribute node. For a poisson disk
distribution, it now uses a simpler dart throwing variant. This results
in a slightly lower quality poisson disk distribution, but it still
fulfills our requirements: have a max density, minimum distance input
and stability while painting the density attribute.
This new implementation has a number of benefits over the old one:
* Much less and more readable code.
* Easier to extend with other distribution algorithms.
* Easier to transfer more attributes to the generated points later on.
* More predictable output when changing the max density and min distance.
* Works in 3d, so no projection on the xy plane is necessary.
This is related to T84640.
Differential Revision: https://developer.blender.org/D10104
Diffstat (limited to 'source/blender/nodes/geometry/node_geometry_util.hh')
-rw-r--r-- | source/blender/nodes/geometry/node_geometry_util.hh | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/source/blender/nodes/geometry/node_geometry_util.hh b/source/blender/nodes/geometry/node_geometry_util.hh index 0cabe5e1155..b7b2afeefcb 100644 --- a/source/blender/nodes/geometry/node_geometry_util.hh +++ b/source/blender/nodes/geometry/node_geometry_util.hh @@ -46,11 +46,6 @@ void update_attribute_input_socket_availabilities(bNode &node, CustomDataType attribute_data_type_highest_complexity(Span<CustomDataType>); -void poisson_disk_point_elimination(Vector<float3> const *input_points, - Vector<float3> *output_points, - float maximum_distance, - float3 boundbox); - Array<uint32_t> get_geometry_element_ids_as_uints(const GeometryComponent &component, const AttributeDomain domain); |