================================================================================
README
Autodesk FBX SDK 2019
-----------------------
Welcome to the FBX SDK readme! This document includes the latest changes since
the previous release version of the Autodesk FBX SDK, such as new features, bug
fixes, known issues, deprecated functions/classes and previous releases notes.
For more information, please visit us at http://www.autodesk.com/fbx/
To join the FBX Beta Program, please visit the Autodesk Feedback Community site
at http://beta.autodesk.com
Sincerely,
the Autodesk FBX team
================================================================================
TABLE OF CONTENTS
-----------------
1. Features, Improvements And Changes
2. Fixed And Known Issues
3. Release Notes From Previous Releases
4. Legal Disclaimer
1. FEATURES, IMPROVEMENTS AND CHANGES
-------------------------------------
1.1 Improvements and New Features
* Added the FBX standardized renaming strategy to the Collada file read/write. This renaming
strategy will replace every character in the object names/ids, which does not comply with
the XML NCName scheme, with a string in the form "FBXASC###" were ### is the decimal value
of the ASCII character.
* Added extra parameter to GenerateTangentsData() family functions to skip testing for the tangent flip
1.2 Changes and Deprecated Features
* moved the static functions FbxRenamingStrategy::NoPrefixName to FbxRenamingStrategyUtils::NoPrefixName
and it now returns an FbxString instead of a char*
2. FIXED AND KNOWN ISSUES
-------------------------
2.1 Fixed Issues
[FBXX-1417] Fixed Wgettimeofday and Wgetlogin already define linker error.
[FBXX-1383] Fixed stack overflow when importing Collada files defining external references.
2.2 Known Issues
3. RELEASE NOTES FROM PREVIOUS RELEASES
---------------------------------------
2018.1.1
* [FBXX-1384] Regression issue introduced by the Audio transport feature.
* [FBXX-1386] Copying FbxSkin object into another does not copy all data.
2018.1
* [FBXX-1258] Add Audio transport support.
* [FBXX-1279] Added more options to the FbxSceneCheck utility class.
2018.0
* [FBXX-1303] Crash when deleting NURBS created with FbxGeometryConverter::ConvertPatchToNurbsSurface()
* [FBXX-1280] Invalid pointer access
* [FBXX-1257] Invalid value for a malloc
* [FBXX-1143] Collada reader
* [FBXX-1140] Crash in FbxGeometryConverter::Triangulate with huge poly count (60 millions +)
2017.1.1
Fixed some global HDF5 symbols that were missed during the previous namespacing. These
symbols only caused an issue on Linux builds when an application links with both the
FBX SDK and its own version of Alembic/HDF5 libraries static libraries.
2017.1
* [FBXX-1225] Security Improvements.
* Alembic code has been fully namespaced to avoid duplicated function conflicts when applications
link the FBX SDK and other Alembic libraries.
2017.0.2
* [FBXX-1207] FBX SDK library for VS2015 builds with the Target Platform Version 10.0.10586.0
2017.0.1
* [FBXX-999] Added the new eRelativeRepetition flag to the animation curves extrapolation flags.
* [FBXX-1023] Refactored FbxUtils to minimize possible buffer under/overflows.
* [FBXX-1031] Added new roll bones to the FbxCharacter definition.
* [FBXX-1066] The SDK version is still reported as an "Alpha" release
* [FBXX-1019] Loading a .3ds file with a texture is very slow when using Python bindings
* [FBXX-1026] Crash when triangulating NURBS surfaces
* [FBXX-1051] In some cases shape normals are written beyond array boundaries
Removed deprecated functions
FbxObject::Is(const FbxClassId& pClassId)
FbxObject::DisconnectAllSrcObject(FbxClassId pClassId)
FbxObject::GetSrcObjectCount(FbxClassId pClassId)
FbxObject::GetSrcObject(FbxClassId pClassId, int pIndex=0)
FbxObject::FindSrcObject(FbxClassId pClassId, const char* pName, int pStartIndex=0)
FbxObject::DisconnectAllDstObject(FbxClassId pClassId)
FbxObject::GetDstObjectCount(FbxClassId pClassId)
FbxObject::GetDstObject(FbxClassId pClassId, int pIndex=0)
FbxObject::FindDstObject(FbxClassId pClassId, const char* pName,int pStartIndex=0)
FbxProperty::DisconnectAllSrcObject(const FbxClassId& pClassId)
FbxProperty::GetSrcObjectCount(const FbxClassId& pClassId)
FbxProperty::GetSrcObject(const FbxClassId& pClassId, const int pIndex=0)
FbxProperty::FindSrcObject(const FbxClassId& pClassId, const char* pName, const int pStartIndex=0)
FbxProperty::DisconnectAllDstObject(const FbxClassId& pClassId)
FbxProperty::GetDstObjectCount(const FbxClassId& pClassId)
FbxProperty::GetDstObject(const FbxClassId& pClassId, const int pIndex=0)
FbxProperty::FindDstObject(const FbxClassId& pClassId, const char* pName, const int pStartIndex=0)
2016.1.2
* [FBXX-1009] StringList default values not correctly initialized (regression in 2016.1).
Properties created with the FbxStringListDT data type were failing to initialize their default
value since the implementation of [FBXX-946]
2016.1.1
* Added the GetMatrix(FbxAMAtrix& pMatrix) function to the FbxAxisSystem class that retrieves
the axis definition in the 4x4 matrix form.
* [FBXX-997] FBX SDK Sample ExportScene05 uses a "reserved" (ABC) file extension.
the ABC extension being also used by the Alembic reader, the sample was selecting
the wrong reader when trying to load the custom file. Changed the extension of the
sample so no more conflict can occur. Note that the ABC extension can still be used
but a manual detection of the readerID, by calling FindReaderIDByDescription(),
is mandatory.
* [FBXX-988] Resolved use of arbitrary up vector on cameras driven by a target.
The FbxAnimEvalClassic::ComputeGlobalTransform() was implicitly assuming in its calculations,
when the pApplyTarget is true, that the global up vector of cameras constrained by an aim
target is always (0,1,0). This was a false assumption if a different FbxSystemAxis had been
applied to the scene and, at best, produced an arbitrary rotation of these cameras when the
aim vector was parallel to the (0,1,0) vector.
* [FBXX-986] Fixed potential security issue when reading certain legacy FBX files
2016.1
* [FBXX-967] Improved the LodGroup object to allow it to store thresholds
as percentage values or distance from camera.
* [FBXX-946] Properties with the FbxEnumDT data type now perform a strict
validation to forbid duplicates when items are added, inserted or replaced
in the enumeration list. The new eFbxEnumM type identifier is available for
users who want to create their own runtime enumeration data type that can
accept duplicated entries.
* [FBXX-963] In the Collada reader, replaced xmlParseFile() function call with
xmlReadFile() so we can set XML_PARSE_HUGE flag, which relaxes any hard-coded
limit from the parser. This affects limits like maximum depth of a document or
the entity recursion, as well as limits of the size of text nodes.
* [FBXX-952] Fixed an issue with the Animation Curve Pre/Post Extrapolation
data. In the very particular case of a program creating an animation curve
directly in memory that set the extrapolation flags and then tries to evaluate
the curve outside the animation range, the extrapolation flags we