[Bf-blender-cvs] [c8e6f1c] alembic_basic_io: Cleanup: use normal_short_to_float_v3.
Kévin Dietrich
noreply at git.blender.org
Thu Jun 23 21:18:27 CEST 2016
Commit: c8e6f1c70054a5e433b924022a31d179b25b78b4
Author: Kévin Dietrich
Date: Thu Jun 23 18:48:56 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rBc8e6f1c70054a5e433b924022a31d179b25b78b4
Cleanup: use normal_short_to_float_v3.
===================================================================
M source/blender/alembic/intern/abc_hair.cc
===================================================================
diff --git a/source/blender/alembic/intern/abc_hair.cc b/source/blender/alembic/intern/abc_hair.cc
index 7e2b63b..3e76479 100644
--- a/source/blender/alembic/intern/abc_hair.cc
+++ b/source/blender/alembic/intern/abc_hair.cc
@@ -47,8 +47,6 @@ using Alembic::AbcGeom::OCurvesSchema;
using Alembic::AbcGeom::ON3fGeomParam;
using Alembic::AbcGeom::OV2fGeomParam;
-static const float nscale = 1.0f / 32767.0f;
-
/* ************************************************************************** */
AbcHairWriter::AbcHairWriter(Scene *scene,
@@ -144,6 +142,8 @@ void AbcHairWriter::write_hair_sample(DerivedMesh *dm,
ParticleCacheKey **cache = m_psys->pathcache;
ParticleCacheKey *path;
+ float normal[3];
+ Imath::V3f tmp_nor;
for (int p = 0; p < m_psys->totpart; ++p, ++pa) {
/* underlying info for faces-only emission */
@@ -157,15 +157,15 @@ void AbcHairWriter::write_hair_sample(DerivedMesh *dm,
MTFace *tface = mtface + num;
if (mface) {
- float r_uv[2], tmpnor[3], mapfw[4], vec[3];
+ float r_uv[2], mapfw[4], vec[3];
psys_interpolate_uvs(tface, face->v4, pa->fuv, r_uv);
uv_values.push_back(Imath::V2f(r_uv[0], r_uv[1]));
- psys_interpolate_face(mverts, face, tface, NULL, mapfw, vec, tmpnor, NULL, NULL, NULL, NULL);
+ psys_interpolate_face(mverts, face, tface, NULL, mapfw, vec, normal, NULL, NULL, NULL, NULL);
- /* Convert Z-up to Y-up. */
- norm_values.push_back(Imath::V3f(tmpnor[0], -tmpnor[2], tmpnor[1]));
+ copy_zup_yup(tmp_nor.getValue(), normal);
+ norm_values.push_back(tmp_nor);
}
}
else {
@@ -194,9 +194,12 @@ void AbcHairWriter::write_hair_sample(DerivedMesh *dm,
if (vtx[o] == num) {
uv_values.push_back(Imath::V2f(tface->uv[o][0], tface->uv[o][1]));
+
MVert *mv = mverts + vtx[o];
- norm_values.push_back(Imath::V3f(mv->no[0] * nscale,
- mv->no[1] * nscale, mv->no[2] * nscale));
+
+ normal_short_to_float_v3(normal, mv->no);
+ copy_zup_yup(tmp_nor.getValue(), normal);
+ norm_values.push_back(tmp_nor);
found = true;
break;
}
More information about the Bf-blender-cvs
mailing list