[Bf-blender-cvs] [cf28398471c] master: Fix T89687: Curve to mesh node incorrect face orientation

Hans Goudey noreply at git.blender.org
Tue Jul 20 20:39:30 CEST 2021


Commit: cf28398471c84260833dc9c1774ed3059de18ad4
Author: Hans Goudey
Date:   Tue Jul 20 14:39:24 2021 -0400
Branches: master
https://developer.blender.org/rBcf28398471c84260833dc9c1774ed3059de18ad4

Fix T89687: Curve to mesh node incorrect face orientation

The new faces should have a winding direction that points them outward,
the fix was swapping the order of each face's edge and vertex indices.

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

M	source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc

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

diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc
index 62b404bc022..ae5ad4e350b 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc
@@ -168,16 +168,16 @@ static void spline_extrude_to_mesh_data(const Spline &spline,
 
       MLoop &loop_a = r_loops[ring_segment_loop_offset];
       loop_a.v = ring_vert_offset + i_profile;
-      loop_a.e = ring_edge_start + i_profile;
+      loop_a.e = spline_edge_start + i_ring;
       MLoop &loop_b = r_loops[ring_segment_loop_offset + 1];
-      loop_b.v = ring_vert_offset + i_next_profile;
-      loop_b.e = next_spline_edge_start + i_ring;
+      loop_b.v = next_ring_vert_offset + i_profile;
+      loop_b.e = next_ring_edge_offset + i_profile;
       MLoop &loop_c = r_loops[ring_segment_loop_offset + 2];
       loop_c.v = next_ring_vert_offset + i_next_profile;
-      loop_c.e = next_ring_edge_offset + i_profile;
+      loop_c.e = next_spline_edge_start + i_ring;
       MLoop &loop_d = r_loops[ring_segment_loop_offset + 3];
-      loop_d.v = next_ring_vert_offset + i_profile;
-      loop_d.e = spline_edge_start + i_ring;
+      loop_d.v = ring_vert_offset + i_next_profile;
+      loop_d.e = ring_edge_start + i_profile;
     }
   }



More information about the Bf-blender-cvs mailing list