[Bf-blender-cvs] [4ee3d7e3ac3] blender2.8: Merge branch 'master' into blender2.8

Bastien Montagne noreply at git.blender.org
Thu Feb 22 15:22:54 CET 2018


Commit: 4ee3d7e3ac359dd04f80af88a46c5f3b14f49708
Author: Bastien Montagne
Date:   Thu Feb 22 15:22:44 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB4ee3d7e3ac359dd04f80af88a46c5f3b14f49708

Merge branch 'master' into blender2.8

Conflicts:
	source/blender/bmesh/intern/bmesh_mesh.c

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



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

diff --cc source/blender/blenkernel/BKE_mesh.h
index ce5d4e3ea64,31d889863b2..9ff842e36f1
--- a/source/blender/blenkernel/BKE_mesh.h
+++ b/source/blender/blenkernel/BKE_mesh.h
@@@ -193,7 -188,21 +193,14 @@@ void BKE_mesh_calc_normals_looptri
          const struct MLoop *mloop,
          const struct MLoopTri *looptri, int looptri_num,
          float (*r_tri_nors)[3]);
 -void BKE_mesh_loop_tangents_ex(
 -        const struct MVert *mverts, const int numVerts, const struct MLoop *mloops,
 -        float (*r_looptangent)[4], float (*loopnors)[3], const struct MLoopUV *loopuv,
 -        const int numLoops, const struct MPoly *mpolys, const int numPolys,
 -        struct ReportList *reports);
 -void BKE_mesh_loop_tangents(
 -        struct Mesh *mesh, const char *uvmap, float (*r_looptangents)[4], struct ReportList *reports);
  
+ void BKE_edges_sharp_from_angle_set(
+         const struct MVert *mverts, const int numVerts,
+         struct MEdge *medges, const int numEdges,
+         struct MLoop *mloops, const int numLoops,
+         struct MPoly *mpolys, const float (*polynors)[3], const int numPolys,
+         const float split_angle);
+ 
  /**
   * References a contiguous loop-fan with normal offset vars.
   */
diff --cc source/blender/bmesh/intern/bmesh_mesh.c
index 8533083af22,8d6e7ae5b29..d178b48ab60
--- a/source/blender/bmesh/intern/bmesh_mesh.c
+++ b/source/blender/bmesh/intern/bmesh_mesh.c
@@@ -1019,8 -1025,21 +1025,22 @@@ void BM_loops_calc_normal_vcos
  	}
  }
  
+ /** Define sharp edges as needed to mimic 'autosmooth' from angle threshold.
+  *
+  * Used when defining an empty custom loop normals data layer, to keep same shading as with autosmooth!
+  */
+ void BM_edges_sharp_from_angle_set(BMesh *bm, const float split_angle)
+ {
+ 	if (split_angle >= (float)M_PI) {
+ 		/* Nothing to do! */
+ 		return;
+ 	}
+ 
+ 	bm_mesh_edges_sharp_tag(bm, NULL, NULL, NULL, split_angle, true);
+ }
+ 
 -static void UNUSED_FUNCTION(bm_mdisps_space_set)(Object *ob, BMesh *bm, int from, int to)
 +static void UNUSED_FUNCTION(bm_mdisps_space_set)(
 +        Object *ob, BMesh *bm, int from, int to, eObjectMode object_mode)
  {
  	/* switch multires data out of tangent space */
  	if (CustomData_has_layer(&bm->ldata, CD_MDISPS)) {



More information about the Bf-blender-cvs mailing list