diff options
author | Hans Goudey <h.goudey@me.com> | 2021-10-19 17:01:39 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-10-19 17:01:39 +0300 |
commit | 0a6cf3ed0c64a0e4e58ecd40a491d0e6c93532f2 (patch) | |
tree | 4e2ba0b74c0ceaa0956aa944ec0b473cf2926cd4 /source/blender/blenkernel/BKE_mesh_sample.hh | |
parent | 9a1d75e0b9580819dba188afdab72295cbf47302 (diff) |
Geometry Nodes: Fields version of the raycast node
This patch includes an updated version of the raycast node that uses
fields instead of attributes for inputs instead of outputs. This makes
the node's UI much clearer. It should be faster too, since the
evaluation system for fields provides multi-threading.
The source position replaces the input geometry (since this node is
evaluated in the context of a geometry like the other field nodes).
Thanks to @guitargeek for an initial version of this patch.
Differential Revision: https://developer.blender.org/D12638
Diffstat (limited to 'source/blender/blenkernel/BKE_mesh_sample.hh')
-rw-r--r-- | source/blender/blenkernel/BKE_mesh_sample.hh | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_mesh_sample.hh b/source/blender/blenkernel/BKE_mesh_sample.hh index 4845876751b..17f8e766724 100644 --- a/source/blender/blenkernel/BKE_mesh_sample.hh +++ b/source/blender/blenkernel/BKE_mesh_sample.hh @@ -75,6 +75,7 @@ enum class eAttributeMapMode { class MeshAttributeInterpolator { private: const Mesh *mesh_; + const IndexMask mask_; const Span<float3> positions_; const Span<int> looptri_indices_; @@ -83,13 +84,13 @@ class MeshAttributeInterpolator { public: MeshAttributeInterpolator(const Mesh *mesh, + const IndexMask mask, const Span<float3> positions, const Span<int> looptri_indices); void sample_data(const GVArray &src, const AttributeDomain domain, const eAttributeMapMode mode, - const IndexMask mask, const GMutableSpan dst); void sample_attribute(const ReadAttributeLookup &src_attribute, |