[Bf-blender-cvs] [cec588d757c] geometry-nodes-mesh-primitives: Fix issue with normals

Hans Goudey noreply at git.blender.org
Thu Mar 11 23:15:12 CET 2021


Commit: cec588d757c7e442c86aae6d59897ac66a4cc587
Author: Hans Goudey
Date:   Thu Mar 11 16:57:04 2021 -0500
Branches: geometry-nodes-mesh-primitives
https://developer.blender.org/rBcec588d757c7e442c86aae6d59897ac66a4cc587

Fix issue with normals

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

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

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

diff --git a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cylinder.cc b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cylinder.cc
index 1aab2740cd7..b2274a2c7c7 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cylinder.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cylinder.cc
@@ -415,14 +415,11 @@ Mesh *create_cylinder_or_cone_mesh(const float radius_top,
       poly.loopstart = loop_index;
       poly.totloop = verts_num;
 
-      /* Go backwards to reverse normal. */
-      // for (int i = verts_num - 1; i >= 0; i--) {
       for (const int i : IndexRange(verts_num)) {
+        /* Go backwards to reverse surface normal. */
         MLoop &loop = loops[loop_index++];
-        // loop.e = bottom_edges_start + verts_num - i - 1;
-        // loop.v = bottom_verts_start + verts_num - i - 1;
-        loop.e = bottom_edges_start + i;
-        loop.v = bottom_verts_start + i;
+        loop.v = bottom_verts_start + verts_num - 1 - i;
+        loop.e = bottom_edges_start + verts_num - 1 - (i + 1) % verts_num;
       }
     }
     else if (fill_type == GEO_NODE_MESH_CIRCLE_FILL_TRIANGLE_FAN) {



More information about the Bf-blender-cvs mailing list