Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-03-28 06:34:55 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-03-28 06:34:55 +0400
commitac1cb5ee055840ba3481b8ad490e3be2a6a49cf2 (patch)
treea24cd7905f6ab5e90d2926b822f9753598198e8f /source/blender/blenkernel/intern
parentcf40220e54e32cf52931e461b928f26571fc2f4f (diff)
- quiet new warnings with gcc 4.6
- use BLI math funcs for normal float/short conversion. - correct some un-intentional float/double promotions.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c8
-rw-r--r--source/blender/blenkernel/intern/cdderivedmesh.c4
-rw-r--r--source/blender/blenkernel/intern/exotic.c8
-rw-r--r--source/blender/blenkernel/intern/mesh.c4
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;