[Bf-blender-cvs] [3f8a8d1757a] soc-2020-io-performance: Silence normal being zero warnings in mesh validate.

Ankit Meel noreply at git.blender.org
Tue Aug 18 12:32:22 CEST 2020


Commit: 3f8a8d1757ade3d40f1b3eebaff11e0d78cf3327
Author: Ankit Meel
Date:   Tue Aug 18 14:30:32 2020 +0530
Branches: soc-2020-io-performance
https://developer.blender.org/rB3f8a8d1757ade3d40f1b3eebaff11e0d78cf3327

Silence normal being zero warnings in mesh validate.

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

M	source/blender/io/wavefront_obj/intern/wavefront_obj_ex_mtl.cc
M	source/blender/io/wavefront_obj/intern/wavefront_obj_im_mesh.cc

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

diff --git a/source/blender/io/wavefront_obj/intern/wavefront_obj_ex_mtl.cc b/source/blender/io/wavefront_obj/intern/wavefront_obj_ex_mtl.cc
index 895fe38ed76..f8f8c4577da 100644
--- a/source/blender/io/wavefront_obj/intern/wavefront_obj_ex_mtl.cc
+++ b/source/blender/io/wavefront_obj/intern/wavefront_obj_ex_mtl.cc
@@ -163,10 +163,9 @@ static const char *get_image_filepath(const bNode *tex_node)
  */
 void MaterialWrap::init_bsdf_node(StringRefNull object_name)
 {
-  BLI_assert(export_mtl_);
   if (!export_mtl_->use_nodes) {
     fprintf(stderr,
-            "No Principled-BSDF node found in the material node tree of: %s.\n",
+            "No Principled-BSDF node found in the shader node tree of: '%s'.\n",
             object_name.data());
     bsdf_node_ = nullptr;
     return;
@@ -179,7 +178,7 @@ void MaterialWrap::init_bsdf_node(StringRefNull object_name)
     }
   }
   fprintf(stderr,
-          "No Principled-BSDF node found in the material node tree of: %s.\n",
+          "No Principled-BSDF node found in the shader node tree of: '%s'.\n",
           object_name.data());
   bsdf_node_ = nullptr;
 }
diff --git a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_mesh.cc b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_mesh.cc
index e7115defd39..dfd705284e4 100644
--- a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_mesh.cc
+++ b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_mesh.cc
@@ -69,7 +69,11 @@ MeshFromGeometry::MeshFromGeometry(Main *bmain,
   create_uv_verts();
   create_materials(bmain, materials);
 
-  BKE_mesh_validate(blender_mesh_.get(), true, false);
+  bool verbose_validate = false;
+#ifdef DEBUG
+  verbose_validate = true;
+#endif
+  BKE_mesh_validate(blender_mesh_.get(), verbose_validate, false);
 #if 0
   add_custom_normals();
 #endif
@@ -119,14 +123,17 @@ void MeshFromGeometry::create_polys_loops()
     }
 
     for (const FaceCorner &curr_corner : curr_face.face_corners) {
-      MLoop *mloop = &blender_mesh_->mloop[tot_loop_idx];
+      MLoop &mloop = blender_mesh_->mloop[tot_loop_idx];
       tot_loop_idx++;
-      mloop->v = curr_corner.vert_index;
+      mloop.v = curr_corner.vert_index;
+      normal_float_to_short_v3(blender_mesh_->mvert[mloop.v].no,
+                               global_vertices_.vertex_normals[curr_corner.vertex_normal_index]);
+
       if (blender_mesh_->dvert) {
         /* Iterating over mloop results in finding the same vertex multiple times.
          * Another way is to allocate memory for dvert while creating vertices and fill them here.
          */
-        MDeformVert &def_vert = blender_mesh_->dvert[mloop->v];
+        MDeformVert &def_vert = blender_mesh_->dvert[mloop.v];
         if (!def_vert.dw) {
           def_vert.dw = static_cast<MDeformWeight *>(
               MEM_callocN(sizeof(MDeformWeight), "OBJ Import Deform Weight"));



More information about the Bf-blender-cvs mailing list