diff options
author | Stuart Broadfoot <gbroadfoot@hotmail.com> | 2013-01-01 23:50:29 +0400 |
---|---|---|
committer | Stuart Broadfoot <gbroadfoot@hotmail.com> | 2013-01-01 23:50:29 +0400 |
commit | 0f3931dee4fb38e2447d05cebb41cc26041be82a (patch) | |
tree | 600880d2cd72978988f98eca0072e21364e9d99d /intern | |
parent | 178a877a95c15e386f4e68d4094391e5265770fa (diff) |
Fix for normal scaling when using triangle primitives for hair.
and some code clean ups in blender_curves and node_shader_hair_info.c
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_curves.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/intern/cycles/blender/blender_curves.cpp b/intern/cycles/blender/blender_curves.cpp index 81358e51eb2..68b5d18a093 100644 --- a/intern/cycles/blender/blender_curves.cpp +++ b/intern/cycles/blender/blender_curves.cpp @@ -380,7 +380,7 @@ void ExportCurveTrianglePlanes(Mesh *mesh, ParticleCurveData *CData, int interpo float3 ickey_loc = make_float3(0.0f,0.0f,0.0f); float time = 0.0f; - if ((interpolation == 2) && (curvekey == CData->curve_firstkey[curve]) && (subv == 0)) + if ((interpolation == CURVE_BSPLINE) && (curvekey == CData->curve_firstkey[curve]) && (subv == 0)) ickey_loc = CData->curvekey_co[curvekey]; else InterpolateKeySegments(subv, segments, curvekey, curve, &ickey_loc, &time, CData , interpolation); @@ -413,6 +413,7 @@ void ExportCurveTrianglePlanes(Mesh *mesh, ParticleCurveData *CData, int interpo mesh->attributes.remove(ATTR_STD_FACE_NORMAL); mesh->add_face_normals(); mesh->add_vertex_normals(); + mesh->attributes.remove(ATTR_STD_FACE_NORMAL); /* texture coords still needed */ @@ -494,7 +495,7 @@ void ExportCurveTriangleRibbons(Mesh *mesh, ParticleCurveData *CData, int interp float3 ickey_loc = make_float3(0.0f,0.0f,0.0f); float time = 0.0f; - if ((interpolation == 2) && (curvekey == CData->curve_firstkey[curve]) && (subv == 0)) + if ((interpolation == CURVE_BSPLINE) && (curvekey == CData->curve_firstkey[curve]) && (subv == 0)) ickey_loc = CData->curvekey_co[curvekey]; else InterpolateKeySegments(subv, segments, curvekey, curve, &ickey_loc, &time, CData , interpolation); @@ -526,7 +527,7 @@ void ExportCurveTriangleRibbons(Mesh *mesh, ParticleCurveData *CData, int interp mesh->attributes.remove(ATTR_STD_FACE_NORMAL); mesh->add_face_normals(); mesh->add_vertex_normals(); - + mesh->attributes.remove(ATTR_STD_FACE_NORMAL); /* texture coords still needed */ } @@ -611,7 +612,7 @@ void ExportCurveTriangleGeometry(Mesh *mesh, ParticleCurveData *CData, int inter float3 ickey_loc = make_float3(0.0f,0.0f,0.0f); float time = 0.0f; - if ((interpolation == 2) && (curvekey == CData->curve_firstkey[curve]) && (subv == 0)) + if ((interpolation == CURVE_BSPLINE) && (curvekey == CData->curve_firstkey[curve]) && (subv == 0)) ickey_loc = CData->curvekey_co[curvekey]; else InterpolateKeySegments(subv, segments, curvekey, curve, &ickey_loc, &time, CData , interpolation); @@ -649,6 +650,7 @@ void ExportCurveTriangleGeometry(Mesh *mesh, ParticleCurveData *CData, int inter mesh->attributes.remove(ATTR_STD_FACE_NORMAL); mesh->add_face_normals(); mesh->add_vertex_normals(); + mesh->attributes.remove(ATTR_STD_FACE_NORMAL); /* texture coords still needed */ } |