Fix for FBX binary tokenization of arrays of type 'c' #2326
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes issue #2034 and allows the tokenizer to handle arrays of type 'c'.
We encountered some FBXs which used this type of array and therefore could be loaded. I believe the FBXs were generated from a photogrammetry application called "RealityCapture".
It seems the array is used to carry a thumbnail. In the wild, we've only seen compressed arrays but I synthetically generated an uncompressed array to determine the correct stride value to use in that case.
I've included some synthetically generated FBXs which carry arrays of this type. (These are in a recent FBX version, but assimp can load them successfully.)
Please note that this commit only addresses the tokenization problem. The files load, but no attempt is made to interpret the data.
db.zip