void ofxFaceTracker2Instance::loadPoseMatrix(){
    if(!poseCalculated){
        calculatePoseMatrix();
    }
    
    ofMatrix4x4 matrix = getPoseMatrix();
    
    loadPoseProjectionMatrix();
    ofLoadMatrix(matrix);
}
FbxAMatrix	LoaderFbxMesh::getGlobalPosition(FbxNode* node, FbxTime time, FbxPose* pose, FbxAMatrix* parentGlobalPosition)
{
	FbxAMatrix globalPosition;

	bool positionFound = false;

	if(pose)
	{
		int nodeIndex = pose->Find(node);
		if(nodeIndex > -1)
		{
			if(pose->IsBindPose() || !pose->IsLocalMatrix(nodeIndex))
				globalPosition = getPoseMatrix(pose, nodeIndex);
			else
			{
				FbxAMatrix localParentGlobalPosition;
				if(parentGlobalPosition)
					localParentGlobalPosition = *parentGlobalPosition;
				else
				{
					if(node->GetParent())
						localParentGlobalPosition = getGlobalPosition(node->GetParent(), time, pose, nullptr);
				}

				FbxAMatrix localPosition = getPoseMatrix(pose, nodeIndex);
				globalPosition = localParentGlobalPosition * localPosition;
			}
			positionFound = true;
		}
	}

	if(!positionFound)
		globalPosition = node->EvaluateGlobalTransform(time);

	return globalPosition;
}