[Bf-blender-cvs] [53113a2e571] master: Geometry: detect when the sample uv is in multiple triangles

Jacques Lucke noreply at git.blender.org
Mon Jul 25 11:32:51 CEST 2022


Commit: 53113a2e571972e835f43217fea217066892e435
Author: Jacques Lucke
Date:   Mon Jul 25 11:32:27 2022 +0200
Branches: master
https://developer.blender.org/rB53113a2e571972e835f43217fea217066892e435

Geometry: detect when the sample uv is in multiple triangles

===================================================================

M	source/blender/geometry/intern/reverse_uv_sampler.cc

===================================================================

diff --git a/source/blender/geometry/intern/reverse_uv_sampler.cc b/source/blender/geometry/intern/reverse_uv_sampler.cc
index 54df43db4ea..39fec40333c 100644
--- a/source/blender/geometry/intern/reverse_uv_sampler.cc
+++ b/source/blender/geometry/intern/reverse_uv_sampler.cc
@@ -67,9 +67,9 @@ ReverseUVSampler::Result ReverseUVSampler::sample(const float2 &query_uv) const
     const float z_dist = std::max(-bary_weights.z, bary_weights.z - 1.0f);
     const float dist = MAX3(x_dist, y_dist, z_dist);
 
-    if (dist <= 0.0f) {
-      /* Return early if the uv coordinate is in the triangle. */
-      return Result{ResultType::Ok, &looptri, bary_weights};
+    if (dist <= 0.0f && best_dist <= 0.0f) {
+      /* The uv sample is in multiple triangles. */
+      return Result{ResultType::Multiple};
     }
 
     if (dist < best_dist) {



More information about the Bf-blender-cvs mailing list