Blender Git Commit Log

Git Commits -> Revision 426ac09

July 30, 2021, 14:56 (GMT)
Edit Mesh: multi-thread auto-smooth & custom normal calculations

Supported multi-threading for bm_mesh_loops_calc_normals.

This is done by operating on vertex-loops instead of face-loops.

Single threaded operation still loops over faces since iterating
over vertices adds some overhead in the case of custom-normals
as the order used for accessing loops must be the same as iterating
of a faces loops.

From isolated timing tests of bm_mesh_loops_calc_normals on high
poly models, this gives between 3.5x to 10x speedup,
with larger gains for meshes with custom-normals.

NOTE: this is part one of two patches for multi-threaded auto-smooth,
tagging edges as sharp is still single threaded.

Reviewed By: mont29

Ref D11928

Commit Details:

Full Hash: 426ac092ec93ee75a874ab10ec8d0a914054fd36
Parent Commit: 9162d98
Committed By: Fabian Schempp
Lines Changed: +730, -261

3 Modified Paths:

/source/blender/blenkernel/BKE_mesh.h (+6, -0) (Diff)
/source/blender/blenkernel/intern/mesh_normals.cc (+30, -0) (Diff)
/source/blender/bmesh/intern/bmesh_mesh_normals.c (+694, -261) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021