Commit: feb4360975b1bf2720eff0bdabb76f0d1cbcb709
Author: Bastien Montagne
Date:   Thu Nov 6 20:53:40 2014 +0100
Branches: temp_custom_loop_normals
https://developer.blender.org/rBfeb4360975b1bf2720eff0bdabb76f0d1cbcb709

Fix for one of last change - we always use clnors when present, have to reflect 
that on rendrers too!

Easy for cycles, slightly messy for BI... :/

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

M       intern/cycles/blender/blender_mesh.cpp
M       source/blender/render/intern/source/convertblender.c

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

diff --git a/intern/cycles/blender/blender_mesh.cpp 
b/intern/cycles/blender/blender_mesh.cpp
index a5e4b7b..1b45f93 100644
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@ -264,7 +264,7 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh 
b_mesh, const vector<
        int numverts = b_mesh.vertices.length();
        int numfaces = b_mesh.tessfaces.length();
        int numtris = 0;
-       bool use_loop_normals = b_mesh.use_auto_smooth();
+       bool use_loop_normals = b_mesh.use_auto_smooth() || 
b_mesh.has_custom_normals();
 
        BL::Mesh::vertices_iterator v;
        BL::Mesh::tessfaces_iterator f;
diff --git a/source/blender/render/intern/source/convertblender.c 
b/source/blender/render/intern/source/convertblender.c
index c732aa4..a41c4d2 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -3179,6 +3179,9 @@ static void init_render_mesh(Render *re, ObjectRen *obr, 
int timeoffset)
                dm= mesh_create_derived_render(re->scene, ob, mask);
        if (dm==NULL) return;   /* in case duplicated object fails? */
 
+       /* In case we have some tessloopnormal data available, always do 
autosmooth! */
+       do_autosmooth = do_autosmooth || ((dm->getTessFaceDataArray(dm, 
CD_TESSLOOPNORMAL) != NULL) && !do_displace);
+
        if (mask & CD_MASK_ORCO) {
                orco = get_object_orco(re, ob);
                if (!orco) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to