Minor normal/tangent cleanup.
This commit is contained in:
parent
3eeebf4599
commit
145f0d84a1
|
@ -784,16 +784,14 @@ static void ReadMesh(RawModel &raw, FbxScene *pScene, FbxNode *pNode, const std:
|
||||||
const FbxVector4 &shapePosition = transform.MultNormalize(targetShape->positions[controlPointIndex]);
|
const FbxVector4 &shapePosition = transform.MultNormalize(targetShape->positions[controlPointIndex]);
|
||||||
blendVertex.position = toVec3f(shapePosition - fbxPosition);
|
blendVertex.position = toVec3f(shapePosition - fbxPosition);
|
||||||
if (targetShape->normals.LayerPresent()) {
|
if (targetShape->normals.LayerPresent()) {
|
||||||
FbxVector4 normal = targetShape->normals.GetElement(
|
const FbxVector4 &normal = targetShape->normals.GetElement(
|
||||||
polygonIndex, polygonVertexIndex, controlPointIndex, FbxVector4(0.0f, 0.0f, 0.0f, 0.0f), inverseTransposeTransform, true);
|
polygonIndex, polygonVertexIndex, controlPointIndex, FbxVector4(0.0f, 0.0f, 0.0f, 0.0f), inverseTransposeTransform, true);
|
||||||
normal -= fbxNormal;
|
blendVertex.normal = toVec3f(normal - fbxNormal);
|
||||||
blendVertex.normal = toVec3f(normal);
|
|
||||||
}
|
}
|
||||||
if (targetShape->tangents.LayerPresent()) {
|
if (targetShape->tangents.LayerPresent()) {
|
||||||
FbxVector4 tangent = targetShape->tangents.GetElement(
|
const FbxVector4 &tangent = targetShape->tangents.GetElement(
|
||||||
polygonIndex, polygonVertexIndex, controlPointIndex, FbxVector4(0.0f, 0.0f, 0.0f, 0.0f), inverseTransposeTransform, true);
|
polygonIndex, polygonVertexIndex, controlPointIndex, FbxVector4(0.0f, 0.0f, 0.0f, 0.0f), inverseTransposeTransform, true);
|
||||||
tangent -= fbxTangent;
|
blendVertex.tangent = toVec4f(tangent - fbxTangent);
|
||||||
blendVertex.tangent = toVec4f(tangent);
|
|
||||||
}
|
}
|
||||||
vertex.blends.push_back(blendVertex);
|
vertex.blends.push_back(blendVertex);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue