diff options
author | Alexander Romanov <a.romanov@blend4web.com> | 2017-07-03 19:49:35 +0300 |
---|---|---|
committer | Alexander Romanov <a.romanov@blend4web.com> | 2017-07-03 19:53:00 +0300 |
commit | e1482841dd5dd55cb453d37d115ec80f44c02316 (patch) | |
tree | 63cee90e2ab7b4316b4e36ffeb181700e99d6aab /source/blender/blenkernel/intern/DerivedMesh.c | |
parent | 1ad0cc6bde4746949eee7a9babb97178a05816c3 (diff) | |
parent | 1fb30758034c2f83862bb7fc5f30a1a4d7b4510b (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 55d5f6f89a1..aea2ad0cd9e 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -3054,14 +3054,23 @@ void DM_calc_tangents_names_from_gpu( *r_tangent_names_count = count; } +void DM_add_named_tangent_layer_for_uv( + CustomData *uv_data, CustomData *tan_data, int numLoopData, + const char *layer_name) +{ + if (CustomData_get_named_layer_index(tan_data, CD_TANGENT, layer_name) == -1 && + CustomData_get_named_layer_index(uv_data, CD_MLOOPUV, layer_name) != -1) + { + CustomData_add_layer_named( + tan_data, CD_TANGENT, CD_CALLOC, NULL, + numLoopData, layer_name); + } +} + void DM_calc_loop_tangents( DerivedMesh *dm, bool calc_active_tangent, const char (*tangent_names)[MAX_NAME], int tangent_names_len) { - if (CustomData_number_of_layers(&dm->loopData, CD_MLOOPUV) == 0) { - return; - } - BKE_mesh_calc_loop_tangent_ex( dm->getVertArray(dm), dm->getPolyArray(dm), dm->getNumPolys(dm), |