Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2017-05-24 15:33:21 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-05-24 15:39:50 +0300
commit429f6bee2845489a82983b54b6d63cc260a76387 (patch)
tree9e882a12cf9469c60a84135f5be59442d8fdb871 /source/blender/blenkernel/intern/editderivedmesh.c
parenta6c60affffc99270e94a123092d8b9c0942cccaa (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.c5
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 */