每个应用程序都有自己的自定义二进制文件格式(例如.mpq,.wad).最重要的是,它通常是拉链的.
所以,我的问题是,你如何巧妙地/熟练地布局文件的二进制内容.你有一个像目前结构的“目录”吗?将所有内容转储到一个文件中更好吗?
所以说你有一个Shapes数组,并且在每个Shape中都是变形的顶点数据(所以顶点数据已经从它最初加载的文件中改变了,所以它应该重新保存).
class Shape { vector<Vertex> verts ; } ; class Sphere : public Shape { } ; // ...more geometric shapes (Tet,Cube) are defined.. class Model : public Shape { } ; // general model "Shape" loaded from file vector<Shape*> shapes ; // save me! contents are mix of Model,Sphere,Tet.. // each with variable number of verts
解决方法
我最喜欢的关于文件格式主题的文章是
http://www.fadden.com/techmisc/file-formats.htm.
除此之外,它可能归结为您存储的数据类型以及数据的使用方式(主要是通过网络传输?寻求访问权限有多重要?等等……).
从那篇文章开始;如果您已经拥有需要设计的格式,它可能有助于明确您的想法.