diff options
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/cdderivedmesh.c | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/exotic.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mesh.c | 4 |
4 files changed, 8 insertions, 16 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index b0a1e74c30f..40365a2198f 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -2570,11 +2570,9 @@ static void GetNormal(const SMikkTSpaceContext * pContext, float fNorm[], const } else { - int i=0; - short * no = pMesh->mvert[indices[vert_index]].no; - for(i=0; i<3; i++) - fNorm[i]=no[i]/32767.0f; - normalize_v3(fNorm); + short *no = pMesh->mvert[indices[vert_index]].no; + normal_short_to_float_v3(fNorm, no); + normalize_v3(fNorm); /* XXX, is this needed */ } } static void SetTSpace(const SMikkTSpaceContext * pContext, const float fvTangent[], const float fSign, const int face_num, const int iVert) diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index fc0d5d90687..cbe7382c3a9 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -1604,9 +1604,7 @@ DerivedMesh *CDDM_from_editmesh(EditMesh *em, Mesh *UNUSED(me)) VECCOPY(mv->co, eve->co); - mv->no[0] = eve->no[0] * 32767.0; - mv->no[1] = eve->no[1] * 32767.0; - mv->no[2] = eve->no[2] * 32767.0; + normal_float_to_short_v3(mv->no, eve->no); mv->bweight = (unsigned char) (eve->bweight * 255.0f); mv->flag = 0; diff --git a/source/blender/blenkernel/intern/exotic.c b/source/blender/blenkernel/intern/exotic.c index c749655cdc2..7cb3adf96bf 100644 --- a/source/blender/blenkernel/intern/exotic.c +++ b/source/blender/blenkernel/intern/exotic.c @@ -182,12 +182,10 @@ static void mesh_add_normals_flags(Mesh *me) v2= me->mvert+mface->v2; v3= me->mvert+mface->v3; v4= me->mvert+mface->v4; - + normal_tri_v3( nor,v1->co, v2->co, v3->co); - sno[0]= 32767.0*nor[0]; - sno[1]= 32767.0*nor[1]; - sno[2]= 32767.0*nor[2]; - + normal_float_to_short_v3(sno, nor); + simple_vertex_normal_blend(v1->no, sno); simple_vertex_normal_blend(v2->no, sno); simple_vertex_normal_blend(v3->no, sno); diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index bc3e6b4c4dd..66e9d09fb7e 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -751,9 +751,7 @@ void mball_to_mesh(ListBase *lb, Mesh *me) verts= dl->verts; while(a--) { VECCOPY(mvert->co, verts); - mvert->no[0]= (short int)(nors[0]*32767.0); - mvert->no[1]= (short int)(nors[1]*32767.0); - mvert->no[2]= (short int)(nors[2]*32767.0); + normal_float_to_short_v3(mvert->no, nors); mvert++; nors+= 3; verts+= 3; |