[Bf-blender-cvs] [509958c852b] usd-importer-T81257-merge: USD Import: mesh reader cleanup.

makowalski noreply at git.blender.org
Tue Jul 20 03:12:02 CEST 2021


Commit: 509958c852b219e173f91b7758a4ca06ab793aae
Author: makowalski
Date:   Mon Jul 19 18:26:07 2021 -0400
Branches: usd-importer-T81257-merge
https://developer.blender.org/rB509958c852b219e173f91b7758a4ca06ab793aae

USD Import: mesh reader cleanup.

Simplified handling of left and right handed
orientations when converting polygons.

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

M	source/blender/io/usd/intern/usd_reader_mesh.cc

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

diff --git a/source/blender/io/usd/intern/usd_reader_mesh.cc b/source/blender/io/usd/intern/usd_reader_mesh.cc
index 44d83996de1..1238e13941f 100644
--- a/source/blender/io/usd/intern/usd_reader_mesh.cc
+++ b/source/blender/io/usd/intern/usd_reader_mesh.cc
@@ -278,7 +278,6 @@ void USDMeshReader::read_mpolys(Mesh *mesh)
   MLoop *mloops = mesh->mloop;
 
   int loop_index = 0;
-  int rev_loop_index = 0;
 
   for (int i = 0; i < face_counts_.size(); i++) {
     const int face_size = face_counts_[i];
@@ -292,14 +291,16 @@ void USDMeshReader::read_mpolys(Mesh *mesh)
      * this is encoded in custom loop normals. */
     poly.flag |= ME_SMOOTH;
 
-    rev_loop_index = loop_index + (face_size - 1);
-
-    for (int f = 0; f < face_size; f++, loop_index++, rev_loop_index--) {
-      MLoop &loop = mloops[loop_index];
-      if (is_left_handed_)
-        loop.v = face_indices_[rev_loop_index];
-      else
-        loop.v = face_indices_[loop_index];
+    if (is_left_handed_) {
+      int loop_end_index = loop_index + (face_size - 1);
+      for (int f = 0; f < face_size; ++f, ++loop_index) {
+        mloops[loop_index].v = face_indices_[loop_end_index - f];
+      }
+    }
+    else {
+      for (int f = 0; f < face_size; ++f, ++loop_index) {
+        mloops[loop_index].v = face_indices_[loop_index];
+      }
     }
   }



More information about the Bf-blender-cvs mailing list