diff options
Diffstat (limited to 'source/blender/blenkernel/intern/cdderivedmesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/cdderivedmesh.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index fb1e8c00991..ca81e216006 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -1777,14 +1777,10 @@ void CDDM_calc_normals(DerivedMesh *dm) for(i = 0; i < numVerts; i++, mv++) { float *no = temp_nors[i]; - if (normalize_v3(no) == 0.0) { - VECCOPY(no, mv->co); - normalize_v3(no); - } + if (normalize_v3(no) == 0.0) + normalize_v3_v3(no, mv->co); - mv->no[0] = (short)(no[0] * 32767.0); - mv->no[1] = (short)(no[1] * 32767.0); - mv->no[2] = (short)(no[2] * 32767.0); + normal_float_to_short_v3(mv->no, no); } MEM_freeN(temp_nors); |