If you're looking to store data for later loading into your app from memory, I'd suggest a custom binary format. I.e., create a "file converter" to load from 3DS Max, Maya, or other format, and save to a binary format to be loaded by your app.
I have a 2-step process:
1. Create a file loader for a particular input format (DirectX, 3DS Max, etc.) and load the data into a custom (used for all input formats) data structure. Either store the custom data to disk for later conversion, or pass the structure to your file saver.
2. Create a file saver for your custom binary format, using the data from the custom data structure.
That allows you the flexibility to write file loaders for any new input format you like, requiring only that you load into the custom data structure. Also, knowing ahead of time what data is required by your app, you can check at conversion time to see if the input file has the data you need.
That also allows you to revise just the loader if the input format changes. And, if you need to change your binary format, you revise only the saver.
With binary formatted data on disk, loading data is much faster, and you don't have to revise your app if you need to revise the loader.
Edited by Buckeye, 18 March 2014 - 11:53 AM.