diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-08-24 08:14:34 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-08-24 08:20:23 +0300 |
commit | 30067b499ac15d709af416fa691d801fc628d6d9 (patch) | |
tree | b79c406bbbcd5e49e3356ea1bc4a36f2af22c688 /source/blender/render | |
parent | 4f61de65883959f62e94bd5f4065cd04f0b9595f (diff) |
Fix editmesh GLSL tangent drawing
The generic tangent calculation relied on CDDM arrays which aren't available in edit-mode.
Add a tangent calculation callback, which has its own implementation for editmesh data.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/bake_api.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/multires_bake.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/render/intern/source/bake_api.c b/source/blender/render/intern/source/bake_api.c index 24ea5eefabd..dee75d43f36 100644 --- a/source/blender/render/intern/source/bake_api.c +++ b/source/blender/render/intern/source/bake_api.c @@ -375,7 +375,7 @@ static void mesh_calc_tri_tessface( if (tangent) { DM_ensure_normals(dm); - DM_add_tangent_layer(dm); + DM_calc_loop_tangents(dm); precomputed_normals = dm->getPolyDataArray(dm, CD_NORMAL); calculate_normal = precomputed_normals ? false : true; diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index ac3600cbe9d..e6fd570d31d 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -3275,7 +3275,7 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset) if (need_nmap_tangent!=0 && CustomData_get_layer_index(&dm->faceData, CD_TANGENT) == -1) { bool generate_data = false; if (CustomData_get_layer_index(&dm->loopData, CD_TANGENT) == -1) { - DM_add_tangent_layer(dm); + dm->calcLoopTangents(dm); generate_data = true; } DM_generate_tangent_tessface_data(dm, generate_data); diff --git a/source/blender/render/intern/source/multires_bake.c b/source/blender/render/intern/source/multires_bake.c index d46e241f8f5..5fbd980e387 100644 --- a/source/blender/render/intern/source/multires_bake.c +++ b/source/blender/render/intern/source/multires_bake.c @@ -456,7 +456,7 @@ static void do_multires_bake(MultiresBakeRender *bkr, Image *ima, bool require_t if (require_tangent) { if (CustomData_get_layer_index(&dm->loopData, CD_TANGENT) == -1) - DM_add_tangent_layer(dm); + DM_calc_loop_tangents(dm); pvtangent = DM_get_loop_data_layer(dm, CD_TANGENT); } |