FBX SDK 2013
The following topic presents the changes made in the 2013 release of the FBX SDK.
Consult the readme.txt for additional information, including fixed and known issues.
Refactored API
The classes in the FBX SDK have all been renamed using the "Fbx" prefix, instead of "KFbx" or "K" or the lower-case "fbx". All structures have also been renamed with the same prefix, including global functions
and enumerations. For example:
By default, the fbxsdk_compatibility.h header file will be included when including fbxsdk.h. This file defines the majority of the old class names to help old applications transition
to FBX SDK 2013. However, if you want to exclusively use the new API, you can define
FBXSDK_NEW_API in your project. Doing so will exclude the fbxsdk_compatibility.h file, which will most likely result in compilation errors for applications which
have been written using previous releases of the FBX SDK.
It is highly recommended that you begin by fixing compilation errors before defining
FBXSDK_NEW_API in your project. Given that this compatibility file may be removed in future releases,
it is also recommended to fully adapt your code to the latest version of the FBX SDK.
We encourage you to read the information found in fbxsdk_compatibility.h which explains various details about upgrading to this version of FBX.
Incremented the Supported File Format
- The current FBX file format version has been incremented to 7.3.
File Handling
- The FbxFile class has been exposed in fbxfile.h.
- The FbxFileUtils class now exposes all static functions related to file handling, such as remove,
rename, etc.
- The FbxPathUtils class now exposes all static functions related to file path handling, such as IsRelative, Clean, etc.
- Many FBX SDK functions which required file paths as inputs have been updated to support
UTF-8. The parameter names were updated to reflect this change.
Miscellaneous Changes
- Removed the KFbxMemoryAllocator class. Instead, use handler setter functions such as FbxSetMallocHandler located in fbxalloc.h
- Removed all KFCurveFilter classes. Please use FbxAnimCurveFilter instead.
- Completely re-designed how Character Poses are stored in FBX.
- The FbxLight class has been augmented to support area lights and barn doors.
- The FbxGeometryBase class has been augmented to support render options such as PrimaryVisibility, CastShadow and ReceiveShadow.
- It is now possible to retrieve the "long" version string of the FBX SDK via the function
FbxManager::GetVersion(true). This will allow developers to get the version string
of this library along with the name and the revision number.
- Made multiple functions UTF-8 compatible.
- The FBX SDK now uses secure versions of CRT calls on the Windows platform. It is now
no longer necessary to disable these warnings when including the FBX SDK headers.
- Changed how objects are stored in the manager to increase performance and reduce memory.