Adding FBX Support

FBX Import Test

FBX has gotten quite a high adaption rate over the years. I had shied away from adding support for it because there is no official spec, only unofficial bits and pieces like the document the Blender foundation published a while ago. There is the official FBX SDK but it is in binary form only. However, it seemed to be the most viable option to be able to handle all the different versions the format had over the years.

It leaves sort of a weird aftertaste, like it is not really done or cared about. The FBX SDK for macOS installs within the /Applications folder on macOS instead of /usr/local or /Libraries and if you also happen to run the FBX SDK for iOS, it removes the macOS libraries! Also it statically links a library which caused duplicate symbols when also using Alembic in the iOS app at the same time. The documentation leaves much to be desired and I had to derive a lot of the details from the sample code (which is only part of the macOS version, not the iOS version by the way). The API itself is quite nice, hadn’t thought that the format would be that expressive. It’s way bigger than I had expected …

FBX Import Test Sponza
FBX Import Test Sponza

All in all, it works. I already can import¬†scenegraph nodes, cameras, lights, materials, textures and meshes. Not bad for four hours of work… now all I need are more test files to test and implement the other missing features.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>