如何高效解析C++中的obj模型文件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2441个文字,预计阅读时间需要10分钟。
目录
一、前言
二、中间文件
三、使用
四、完整代码
一、前言
tinyobjloader地址:[传送门](#)二、中间文件
三、使用
四、完整代码
五、支持材质,不支持骨骼动画
目录
- 一、前言
- 二、中间文件
- 三、使用
- 四、完整代码
一、前言
tinyobjloader地址:
传送门
而tinyobjloader库只有一个头文件,可以很方便的读取obj文件。支持材质,不过不支持骨骼动画,vulkan官方教程便是使用的它。不过没有骨骼动画还是有很大的局限性,这里只是分享一下怎么读取材质和拆分网格。
二、中间文件
我抽象了一个ModelObject类表示模型数据,而一个ModelObject包含多个Sub模型,每个Sub模型使用同一材质(有的人称为图元Primitive或DrawCall)。最后我将其保存为文件,这样我的引擎便可直接解析ModelObject文件,而不是再去读obj、fbx等其他文件了。
这一节可以跳过,下一节是真正使用tinyobjloader库。
本文共计2441个文字,预计阅读时间需要10分钟。
目录
一、前言
二、中间文件
三、使用
四、完整代码
一、前言
tinyobjloader地址:[传送门](#)二、中间文件
三、使用
四、完整代码
五、支持材质,不支持骨骼动画
目录
- 一、前言
- 二、中间文件
- 三、使用
- 四、完整代码
一、前言
tinyobjloader地址:
传送门
而tinyobjloader库只有一个头文件,可以很方便的读取obj文件。支持材质,不过不支持骨骼动画,vulkan官方教程便是使用的它。不过没有骨骼动画还是有很大的局限性,这里只是分享一下怎么读取材质和拆分网格。
二、中间文件
我抽象了一个ModelObject类表示模型数据,而一个ModelObject包含多个Sub模型,每个Sub模型使用同一材质(有的人称为图元Primitive或DrawCall)。最后我将其保存为文件,这样我的引擎便可直接解析ModelObject文件,而不是再去读obj、fbx等其他文件了。
这一节可以跳过,下一节是真正使用tinyobjloader库。

