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
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2021-07-20 21:39:24 +0300
committerHans Goudey <h.goudey@me.com>2021-07-20 21:39:24 +0300
commitcf28398471c84260833dc9c1774ed3059de18ad4 (patch)
tree27568472fdb5d4a218839ab4cc545b0c708635b4 /source/blender/nodes
parent1e063a0242697980088b93d46e4f111fd668eb36 (diff)
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.
Diffstat (limited to 'source/blender/nodes')
-rw-r--r--source/blender/nodes/geometry/nodes/node_geo_curve_to_mesh.cc12
1 files changed, 6 insertions, 6 deletions
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;
}
}