diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-05-24 15:33:21 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-05-24 15:39:50 +0300 |
commit | 429f6bee2845489a82983b54b6d63cc260a76387 (patch) | |
tree | 9e882a12cf9469c60a84135f5be59442d8fdb871 /source/blender/blenkernel/intern/editderivedmesh.c | |
parent | a6c60affffc99270e94a123092d8b9c0942cccaa (diff) |
Fix T51561: Normal maps fail w/ quad + eevee
Generalize derived-mesh tangent calculation so
it can be used by Batch cache creation too.
Diffstat (limited to 'source/blender/blenkernel/intern/editderivedmesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/editderivedmesh.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/editderivedmesh.c b/source/blender/blenkernel/intern/editderivedmesh.c index 320299d1933..74cc260836a 100644 --- a/source/blender/blenkernel/intern/editderivedmesh.c +++ b/source/blender/blenkernel/intern/editderivedmesh.c @@ -245,6 +245,11 @@ static void emDM_calc_loop_tangents( { EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm; BMEditMesh *em = bmdm->em; + + if (CustomData_number_of_layers(&em->bm->ldata, CD_MLOOPUV) == 0) { + return; + } + const float (*poly_normals)[3] = bmdm->polyNos; const float (*loop_normals)[3] = CustomData_get_layer(&dm->loopData, CD_NORMAL); const float (*vert_orco)[3] = dm->getVertDataArray(dm, CD_ORCO); /* can be NULL */ |