我正在开发一个 3D OpenGL (C++) 应用程序,其中我有自己的基于半边数据结构的网格结构。我想构建一种简单的方法来将 Wavefront obj 文件加载到我的网格结构中。当然,我可以逐行天真地这样做,但必须有一些更有效的方法(我知道专业应用程序不会天真地逐行加载文件,对于数百万个顶点来说太慢了)。
谁能指点我一个教程或一个非常快速的 OBJ 加载器的例子?如果它与半边数据结构有关,那将是更可取的。
编辑:
我希望解决两个基本问题
1) 避免从文件中读取浮点数的一般缓慢
2)我如何智能地动态确定每个边缘的“相邻”半边。我正在想象某种散列函数来确定正在创建的边的对称边或下一条边是否已经存在,如果存在,则使用该指针。