diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-18 10:49:32 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-18 10:49:32 +0400 |
commit | e56f71400060f10f73bed6b5c52fc537e5a0d617 (patch) | |
tree | fed5dd6c2872c725fd9484b31c0a56eb7f50d17d /source/blender/blenkernel/intern/DerivedMesh.c | |
parent | 3633858fdb1104c7b2ec23f3f1d53b6b367ae454 (diff) |
ngons draw with uniform normals in object mode now, I had this code disabled for speed (it was being called when it didnt need to), but for CDDM meshes without face normal layers this should still be called.
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 6c3c7581161..99629a2e27b 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -1699,6 +1699,19 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos /* Need to watch this, it can cause issues, see bug [#29338] */ /* take care with this block, we really need testing frameworks */ /* --------------------------------------------------------------------- */ + + + /* without this, drawing ngon tri's faces will show ugly tessellated face + * normals and will also have to calculate normals on the fly, try avoid + * this where possible since calculating polygon normals isn't fast, + * note that this isn't a problem for subsurf (only quads) or editmode + * which deals with drawing differently. + * + * Never calc vertex normals because other code ensures these are up to date. + */ + if ((finaldm->type == DM_TYPE_CDDM) && (CustomData_has_layer(&finaldm->faceData, CD_NORMAL) == FALSE)) { + CDDM_calc_normals_mapping_ex(finaldm, TRUE); + } } |