FbxAnimEvaluator instance is now stored in the manager rather than in a scene.FbxProperty::EvaluateValue() function to evaluate the value of a property.FbxProperty::GetCurveNode() by caching results in a map inside the evaluation state.FbxCriteria and FbxQuery to improve performance.FbxTypeComponentCount() global function to retrieve a type's component count.FbxMapDelete(), FbxMapFree(), and FbxMapDestroy().FbxTime to retrieve the time string. You can specify the start and end element it returns.InvertX property and InvertY property to the camera manipulator for inverting controls.FbxGeometryBase::ComputeBBox() no longer computes or changes the bounding box value if the content is unloaded.FbxString uses a char pointer allocation again instead of an opaque std::string implementation for easier debugging and better performance/memory footprint. It is no longer necessary to modify the autoexp.dat file of Visual Studio to see the string content with debuggers.fbxclonemanager.h for more information.FbxGeometryConverter::SplitMeshesPerMaterial() function now handles skinning on splitted meshes correctly.FbxScene::ComputeBoundingBoxMinMaxCenter() and FbxNode::EvaluateGlobalBoundingBoxMinMaxCenter().FbxGeometryConverter::ResetMeshesCenterToWorld() function to reset the center of scene meshes.FbxMesh::GenerateNormals() function to generate normals. It works in the same way as generating tangents. This function is for replacing the FbxMesh::ComputeVertexNormals() function that only supports smooth normals.FbxScene::Clone() to properly duplicate scenes.FbxTime::SetFramePrecise() and FbxTime::GetFrameCountPrecise(), which use double values.FbxMod to fbxmath.h.FbxStream class.FBXSDK_sprintf, FBXSDK_snprintf, FBXSDK_vsprintf, and FBXSDK_vsnprintf now take a single size parameter instead of being variant on different platforms.FbxSceneInfo class).GetCurveNode() in FbxProperty that used an animation stack name.ConvertPivot functions in FbxNode to use an animation stack pointer instead of the animation stack.FbxPropertyFlagsExt class to FbxPropertyFlags.FbxPropertyValue class to a more global location because it is also used by the evaluation state.ContentUnload now unloads the layers properly on a geometry.FbxExporter::GetCurrentWritableVersions().FbxCameraManipulator frame-all now works on orthographic cameras.DXF files.FbxAMatrix only works with XYZ rotation order.FBXSDK_ENV_WINRT preprocessor define (previously known as FBXSDK_ENV_WINMETRO). This disables unsupported functions when targeting Microsoft Windows Store applications. This define will automatically be set if you set Windows Store App Support to Yes in your Visual Studio project settings.A number of changes were made to the architecture defines in fbxarch.h in order to add support for the ARM processor:
FBXSDK_ARCH_IX86, only defined on Intel x86 targets.FBXSDK_ARCH_AMD64, only defined on AMD64 targets.FBXSDK_ARCH_ARM, only defined on ARM targets.FBXSDK_ARCH_32 to FBXSDK_CPU_32, only defined for 32-bit targets.FBXSDK_ARCH_64 to FBXSDK_CPU_64, only defined for 64-bit targets.Also, please see deprecated details below.
FbxReference is now defined as FbxObject* rather than void*. This change allows properties of the FbxReference type to correctly respond to FbxCast and other FBX SDK API operations, as well as restraining the assignment to FbxObject* types.FbxCameraManipulator by adding a new action type: eFreePan. This action combines dollying and panning into a single action. For example, this may be useful for manipulating the camera using a touch screen.FbxObject::eInitialized. This flag is automatically set on all objects after they are done with the Construct stage. This is also used to prevent PropertyNotify from being called during the ConstructProperties stage.FbxCameraManipulator does not use a hidden class internally anymore, and uses the PropertyNotify event to re-initialize when changing its affected camera.IOSetting flag (IMP_FBX_EXTRACT_EMBEDDED_DATA) to completely disable embedded files extraction. This flag is set to true by default.FbxObject::ResetProperties() function to reset all properties to their default value.pForceSet parameter for FbxProperty::StaticInit() is no longer optional. When calling this function in ConstructProperties, the value of pForceSet must be correctly passed to StaticInit() for all properties, in order to ensure that each property is initialized only once.FbxGeometryConverter::Triangulate() function, which replaces the deprecated TriangulateMesh(), TriangulateMeshAdvanced() and TriangulateInPlace() functions. The new function can either take a node attribute or a scene as a parameter, and can replace original nodes with new ones to make sure the scene stays clean.FbxGeometryConverter::SplitMeshesPerMaterial() function. This function can take a scene as a parameter, and can replace original meshes to make sure the scene stays clean.FbxArray class that accepts an integer parameter to specify the amount of memory that should be reserved for that specific size.FbxMesh::GetPolygonVertexUV() to allow it to return an array of unmapped polygons. This is extremely useful to determine which vertex has no associated UV.FBXSDK_ARCH_32 and FBXSDK_ARCH_64 have been renamed to FBXSDK_CPU_32 and FBXSDK_CPU_64 respectively, to dissociate them from the architecture.FbxReference properties, in order to improve robustness.FbxObject::PropertyNotify() now requires a reference to the property instead of a pointer.FbxGeometryConverter::Triangulate() instead.ConvertPivotAnimationRecursive, introduced in FBX 2013.3, caused some scenes to become resampled and key-reduced wrongly.fbxsdk.h in your project, the define WIN32_LEAN_AND_MEAN will no longer be automatically defined anymore.FbxPathUtils::GetRelativePath() did not work properly with localized paths.FbxReference type now use the Source connection. Only a handful of them were not complying, in various FbxConstraint classes. In FBX 2014 (7.4) or lower files, this will not change anything, but in memory these objects are now always connected to the source of the property.FbxObject::PropertyNotify() callback is not called anymore during ConstructProperties object creation stage.FbxPropertyT<FbxReference> now correctly receives the PropertyNotify event.FbxTime::SetTimeString() now supports passing spaces between elements.FbxCamera Position property synchronization with the local translation of its node.FbxMarker class no longer returns property pointers.FbxMesh::GenerateTangentsData() functions: When the tangents data already exist on the mesh, and the pOverwrite parameter is set to false, the function now returns true so that it is not considered as an error.FbxStream that it does not support other formats than FBX.FbxCache evaluation could cause a crash on Linux and Mac platforms in some circumstances.FbxPathUtils::Create() could cause a crash on Linux and Mac platforms in some circumstances.FbxGeoemetryConverter::SplitMeshPerMaterial(). Now, meshes that have material indexes that point to invalid materials will not be assigned any materials, and they will be regrouped together.FbxCamera::EvaluateUpDirection() now supports the Roll property.FbxStatus) is introduced to replace the old FbxError class.TimeMarker functionality is re-introduced in FBX 2014 file format. The API to access them is in the FbxGlobalSettings class.MotionFiles readers/writers are now registered in the public FBX SDK. This means that the FBX SDK can now import and export the following motion file formats: Biovision (BVH), MotionAnalysis (HTR/TRC), Acclaim (ASF/AMC), Vicon (C3D), Adaptive Optics (AOA), and Superfluo (MCD).FBXSDK_DLL are exported, which makes it equal to the Windows version.FbxProperty flags are cleaned. For clarity, the ePublished flag is renamed to eAnimated, and the eUser flag is renamed to eUserDefined. The eStatic flag is now turned on for all the static properties by default. Also, introduced the eImported flag for properties that are created upon import.FBXSDK\_ENV\_WINMETRO for Windows Metro support and FBXSDK\_ARCH\_ARM for ARM processor support.FbxFolder::Create(), FbxFolder::Delete(), and FbxFolder::Exist() functions are moved to the FbxPathUtils class, and now work pass the Microsoft Certification Validation Kit for Windows Store applications. Other functions in the FbxFolder class are renamed for consistency. See fbxfolder.h.FbxPathUtils::Exist() function now works on relative paths.FbxPathUtils::Create() function can take multiple paths as argument and they are created if possible, like mkdir in Unix.FbxMesh::GetPolygonVertexCount() function to simply return the array size.FbxProgress class to be simpler and to allow an additional argument to be passed to the single-thread callback.fbxsdk_compatibility.h file is removed from the FBX SDK distribution, so you must use the latest API. Defining FBXSDK_NEW_API is not necessary anymore and can be removed from your projects.FbxString::Empty() function is renamed to FbxString::Clear() to avoid confusion with the FbxString::IsEmpty() function.FbxError is removed from all classes. Instead, functions that need to return an error string can use an optional parameter of type FbxStatus similar to MStatus in the Maya API.FbxFolder::Create() function is removed. You can use the FbxPathUtils::Create() function instead.FbxFolder::Delete() function is removed. You can use the FbxPathUtils::Delete() function instead.FbxFolder::Exist() function is removed. You can use the FbxPathUtils::Exist() function instead.FbxFolder::Remove() function is removed. You can use FbxPathUtils::Delete() function instead, which is always recursive.FbxCamera::EvaluateUpDirection() incorrectly using the TargetUp object.FbxManager on application exit.FbxString::Empty() instead of FbxString::IsEmpty().FbxStream::ReadString().GenericTimeIndependent only and GenericClampProgressive.TranslationActive, RotationActive, and ScalingActive properties.FbxMarker::DrawLink() is now set to true.FbxCamera::EvaluateLookAtPosition() not returning the expected value.Effect field being written for each polygon when writing Collada files resulting in an increased file size.FbxMin that were returning a const reference type value are fixed to return a copy of the value instead.FbxScene::ForceKill() on an imported scene that contains thumbnails.fbxiosettingspath.h header file compatible with C++x11 standard.FbxAMatrix only works with XYZ rotation order.