[Bf-blender-cvs] [fd4e5563fd5] soc-2020-io-performance: Use BKE_mesh_calc_poly_normal
Ankit Meel
noreply at git.blender.org
Thu Jul 2 10:13:50 CEST 2020
Commit: fd4e5563fd5b140bbdf2288679dc1b5190b6dd71
Author: Ankit Meel
Date: Thu Jul 2 13:43:44 2020 +0530
Branches: soc-2020-io-performance
https://developer.blender.org/rBfd4e5563fd5b140bbdf2288679dc1b5190b6dd71
Use BKE_mesh_calc_poly_normal
Replace custom normal calculation function with an existing function.
===================================================================
M source/blender/io/wavefront_obj/intern/wavefront_obj_exporter_mesh.cc
===================================================================
diff --git a/source/blender/io/wavefront_obj/intern/wavefront_obj_exporter_mesh.cc b/source/blender/io/wavefront_obj/intern/wavefront_obj_exporter_mesh.cc
index d6f7e108a9b..8d3dc78edc5 100644
--- a/source/blender/io/wavefront_obj/intern/wavefront_obj_exporter_mesh.cc
+++ b/source/blender/io/wavefront_obj/intern/wavefront_obj_exporter_mesh.cc
@@ -237,20 +237,11 @@ void OBJMesh::store_uv_coords_and_indices(Vector<std::array<float, 2>> &r_uv_coo
*/
void OBJMesh::calc_poly_normal(float r_poly_normal[3], uint poly_index)
{
- /* TODO ankitm: Find an existing method to calculate a face's normals from its vertex normals. */
- const MPoly &poly_to_write = _export_mesh_eval->mpoly[poly_index];
- const MLoop *mloop = &_export_mesh_eval->mloop[poly_to_write.loopstart];
-
- /* Sum all vertex normals to get a face normal. */
- for (uint i = 0; i < poly_to_write.totloop; i++) {
- short(&vert_no)[3] = _export_mesh_eval->mvert[(mloop + i)->v].no;
- r_poly_normal[0] += vert_no[0];
- r_poly_normal[1] += vert_no[1];
- r_poly_normal[2] += vert_no[2];
- }
-
+ const MPoly *poly_to_write = &_export_mesh_eval->mpoly[poly_index];
+ const MLoop *mloop = &_export_mesh_eval->mloop[poly_to_write->loopstart];
+ const MVert *mvert = _export_mesh_eval->mvert;
+ BKE_mesh_calc_poly_normal(poly_to_write, mloop, mvert, r_poly_normal);
mul_mat3_m4_v3(_world_and_axes_transform, r_poly_normal);
- normalize_v3(r_poly_normal);
}
/**
More information about the Bf-blender-cvs
mailing list