FBX SDK Programmer's Guide > Welcome to the FBX SDK > What's new/What's changed >

# FBX SDK 2012

Windows Platform Packaging

- The packaging of the FBX SDK for the Microsoft Windows platform has changed to reduce the size of the download.
- The preprocessor identifier that must be defined when linking with the dynamic library version of the FBX SDK has changed from KFBX_DLLINFO to FBXSDK_SHARED. KFBX_DLLINFO now serves no purpose. For statically linked library versions of the FBX SDK, no preprocessor identifiers must be defined.
- Static libraries are now built with _SECURE_SCL=1, which is the default value in Visual Studio projects. If your project used to define _SECURE_SCL=0 to link with previous versions of the FBX SDK, it can now safely be removed from the predefined preprocessor identifiers.
- All FBX-related DLL's are now officially signed with the Autodesk certificate.
- For more information, see Installing and Configuring.

File Format Version 7.2.

- The file format version of FBX files has been incremented to 7.2. There have been various small changes in the file format to support new data. The new header file fbxfilesdk_version.h defines the preprocessor identifer FBXSDK_VERSION_STRING, which represents the version information as a string (see Importing a Scene).

Texture Changes

- Support for Allegorithmic's Substance (procedural textures) has been added to the FBX SDK core. The KFbxTexture class serves as the base class for KFbxFileTexture, KFbxLayeredTexture, and KFbxProceduralTexture. KFbxFileTexture should now be used for bitmap textures, replacing KFbxTexture.
- Roughly 25 new texture blend modes were added. The default blend mode is now Normal instead of Translucent. These texture blend modes can be found in KFbxTexture::EBlendMode
- Ptex files can be transported just like any other texture format (png, jpeg, etc.), provided they are connected to a material property. For more information about Ptex, visit http://ptex.us/documentation.html.

Evaluation and Animation Changes

- New quaternion evaluation modes for rotation animation curves are now available, equivalent to those found in Autodesk Maya. See KFbxAnimCurveNode::SetQuaternionInterpolation.
- Support for Dual Quaternion Skinning has been added. See KFbxDualQuaternion for more information.
- A new type of animation curve has been added to the FBX SDK core to allow better support of Autodesk 3dsMax "auto" keys with crease in/out. See the tangent and interpolation modes in KFbxAnimCurve.
- Added five new matrix transform evaluation functions to the KFbxNode class for convenience. These functions are equivalent to calling KFbxScene->GetEvaluator()->...:
  - KFbxNode::EvaluateGlobalTransform()
  - KFbxNode::EvaluateLocalTransform()
  - KFbxNode::EvaluateLocalTranslation()
  - KFbxNode::EvaluateLocalRotation()
  - KFbxNode::EvaluateLocalScaling()
- Added the KFbxEvaluator::ResetEvaluationState() function to enable users to completely clear the whole evaluation cache by deleting all entries in it.

Import/Export Changes

- Many improvements to the import time of FBX files have been made.
- The memory footprint of FBX files has been reduced.
- The Collada importer now supports the Collada 1.4.1. standard.
- Support for "in-between" blend shapes has been added in the FBX SDK core to allow application plug-ins to import/export these states. See KFbxBlendShape, and KFbxShape.
- Object names will now appear in ASCII FBX files as comments in the connection section for easier debugging.
- Added the KFbxImporter::SetEmbeddingExtractionFolder() function to allow developers to specify an extraction folder when importing FBX files.

Other Changes

- The KFbxCharacter class has been improved to benefit the interoperability of character data with other Autodesk 3D applications.
- Support for vector displacement maps has been added. See KFbxSurfaceMaterialLambert::VectorDisplacementColor and KFbxSurfaceMaterialLambert::VectorDisplacementFactor.
- The visibility inheritance behavior of scene nodes have changed to better align with popular Autodesk 3D applications.
- Added support for line geometry in the KFbxLine class.
- Added an option to KMemoryPool to control concurrent allocations. Previously, the allocation was always in concurrent mode.
- The FBX SDK is now built with full optimization settings (i.e. both size and speed), instead of being optimized for speed only.
- A new tesselation function was added to NURB curves to provide a work-around for applications that do not support them. The tesselation will produce a KFbxLine object (a series of vertices). See KFbxNurbsCurve::TessellateCurve().
- Added new functions to the KFbxCache class:
  - KFbxCache::GetNextTimeWithData()
  - KFbxCache::GetDataCount()
  - KFbxCache::GetDataTime()

#### Topics in this section

- 2012.2
- 2012.1