在图形中,有很多关于创建自定义二进制文件格式来存储 3d 资产的讨论,这样更常见的基于文本的格式(如 OBJ 和 COLLADA)就不必在运行时进行解析。说得通。
然而,这个二进制文件的实际创建并不那么简单,因为它涉及序列化或其他方法等技术,其中一些甚至不是由 C++ 原生处理,除非在其最新的变体中。
但我突然想到,如果我将其中一种基于文本的格式解析为 C 样式的标头,其中数据仅解析为float
orstruct
声明,那么这些数据将与应用程序的其余部分一起编译为二进制文件。也就是说,解析是在应用程序外部完成的,可能是通过脚本完成的,然后在编译时处理转换为二进制文件,因为翻译单元包含标头。
我的想法是否正确,这与实际创建二进制文件格式并走这条路相比如何?