[Bf-blender-cvs] [47ff1571620] refactor-mesh-corners-generic: Merge branch 'refactor-mesh-position-generic' into refactor-mesh-corners-generic

Hans Goudey noreply at git.blender.org
Sat Dec 31 05:56:26 CET 2022


Commit: 47ff157162092774ec35b723ce468dadc90ecabb
Author: Hans Goudey
Date:   Fri Dec 30 23:56:21 2022 -0500
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rB47ff157162092774ec35b723ce468dadc90ecabb

Merge branch 'refactor-mesh-position-generic' into refactor-mesh-corners-generic

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



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

diff --cc source/blender/blenkernel/intern/mesh_convert.cc
index 19790ed9388,30425dbce10..b50b6804e33
--- a/source/blender/blenkernel/intern/mesh_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_convert.cc
@@@ -193,10 -193,8 +195,8 @@@ static Mesh *mesh_nurbs_displist_to_mes
    MutableSpan<float3> positions = mesh->vert_positions_for_write();
    MutableSpan<MEdge> edges = mesh->edges_for_write();
    MutableSpan<MPoly> polys = mesh->polys_for_write();
 -  MutableSpan<MLoop> loops = mesh->loops_for_write();
 +  MutableSpan<int> corner_verts = mesh->corner_verts_for_write();
  
-   MEdge *medge = edges.data();
-   MPoly *mpoly = polys.data();
    MutableAttributeAccessor attributes = mesh->attributes_for_write();
    SpanAttributeWriter<int> material_indices = attributes.lookup_or_add_for_write_only_span<int>(
        "material_index", ATTR_DOMAIN_FACE);
@@@ -269,18 -267,18 +269,18 @@@
        }
  
        a = dl->parts;
-       index = dl->index;
+       const int *index = dl->index;
        while (a--) {
-         corner_verts[dst_corner_i + 0] = startvert + index[0];
-         corner_verts[dst_corner_i + 1] = startvert + index[2];
-         corner_verts[dst_corner_i + 2] = startvert + index[1];
-         mpoly->loopstart = dst_corner_i;
-         mpoly->totloop = 3;
-         material_indices.span[mpoly - polys.data()] = dl->col;
 -        loops[dst_loop + 0].v = startvert + index[0];
 -        loops[dst_loop + 1].v = startvert + index[2];
 -        loops[dst_loop + 2].v = startvert + index[1];
++        corner_verts[dst_loop + 0] = startvert + index[0];
++        corner_verts[dst_loop + 1] = startvert + index[2];
++        corner_verts[dst_loop + 2] = startvert + index[1];
+         polys[dst_poly].loopstart = dst_loop;
+         polys[dst_poly].totloop = 3;
+         material_indices.span[dst_poly] = dl->col;
  
          if (mloopuv) {
            for (int i = 0; i < 3; i++, mloopuv++) {
-             mloopuv->uv[0] = (corner_verts[dst_corner_i + i] - startvert) / float(dl->nr - 1);
 -            mloopuv->uv[0] = (loops[dst_loop + i].v - startvert) / float(dl->nr - 1);
++            mloopuv->uv[0] = (corner_verts[dst_loop + i] - startvert) / float(dl->nr - 1);
              mloopuv->uv[1] = 0.0f;
            }
          }
@@@ -329,13 -328,13 +330,13 @@@
          }
  
          for (; b < dl->nr; b++) {
-           corner_verts[dst_corner_i + 0] = p1;
-           corner_verts[dst_corner_i + 1] = p3;
-           corner_verts[dst_corner_i + 2] = p4;
-           corner_verts[dst_corner_i + 3] = p2;
-           mpoly->loopstart = dst_corner_i;
-           mpoly->totloop = 4;
-           material_indices.span[mpoly - polys.data()] = dl->col;
 -          loops[dst_loop + 0].v = p1;
 -          loops[dst_loop + 1].v = p3;
 -          loops[dst_loop + 2].v = p4;
 -          loops[dst_loop + 3].v = p2;
++          corner_verts[dst_loop + 0] = p1;
++          corner_verts[dst_loop + 1] = p3;
++          corner_verts[dst_loop + 2] = p4;
++          corner_verts[dst_loop + 3] = p2;
+           polys[dst_poly].loopstart = dst_loop;
+           polys[dst_poly].totloop = 4;
+           material_indices.span[dst_poly] = dl->col;
  
            if (mloopuv) {
              int orco_sizeu = dl->nr - 1;
@@@ -354,7 -353,7 +355,7 @@@
  
              for (int i = 0; i < 4; i++, mloopuv++) {
                /* find uv based on vertex index into grid array */
-               int v = corner_verts[dst_corner_i + i] - startvert;
 -              int v = loops[dst_loop + i].v - startvert;
++              int v = corner_verts[dst_loop + i] - startvert;
  
                mloopuv->uv[0] = (v / dl->nr) / float(orco_sizev);
                mloopuv->uv[1] = (v % dl->nr) / float(orco_sizeu);



More information about the Bf-blender-cvs mailing list