[Bf-blender-cvs] [f17f5c4] temp_custom_loop_normals: Fix rendering of clnors with flat faces.

Bastien Montagne noreply at git.blender.org
Sat Jan 24 16:32:46 CET 2015


Commit: f17f5c496c1fa1177bd040dc97cb4313a219eefd
Author: Bastien Montagne
Date:   Sat Jan 24 16:31:26 2015 +0100
Branches: temp_custom_loop_normals
https://developer.blender.org/rBf17f5c496c1fa1177bd040dc97cb4313a219eefd

Fix rendering of clnors with flat faces.

Basically, you can define any custom normal on flat faces too, which makes
them (more or less) smooth... So simply consider all faces as smooth when
we have some lnors now.

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

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 8805443..10b037a 100644
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@ -313,7 +313,7 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector<
 		int n = (vi[3] == 0)? 3: 4;
 		int mi = clamp(f->material_index(), 0, used_shaders.size()-1);
 		int shader = used_shaders[mi];
-		bool smooth = f->use_smooth();
+		bool smooth = f->use_smooth() || use_loop_normals;
 
 		/* split vertices if normal is different
 		 *
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c
index 1a8c468..463b00b 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -3316,7 +3316,7 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset)
 							v2= mface->v2;
 							v3= reverse_verts==0 ? mface->v3 : mface->v1;
 							v4= mface->v4;
-							flag= mface->flag & ME_SMOOTH;
+							flag= do_autosmooth ? ME_SMOOTH : mface->flag & ME_SMOOTH;
 
 							vlr= RE_findOrAddVlak(obr, obr->totvlak++);
 							vlr->v1= RE_findOrAddVert(obr, vertofs+v1);




More information about the Bf-blender-cvs mailing list