一、前言
网上的教程均为搭配opengl使用,如果单纯想读取模型数据,资料就比较少了。先放出相关链接:
1、gltf规范文档:glTF™ 2.0 Specification (khronos.org)
2、gltf在线模型查看器 :glTF Viewer (donmccurdy.com)
3、tinygltf:GitHub - syoyo/tinygltf: Header only C++11 tiny glTF 2.0 library
4、vulkan使用tinygltf官方示例:GitHub - SaschaWillems/Vulkan-glTF-PBR: Physical based rendering with Vulkan using glTF 2.0 models
二、使用
1、初始化
首先引入头文件:
#define TINYGLTF_IMPLEMENTATION
#include <tiny_gltf.h>
再加载文件,注意glb格式和gltf格式调用的函数不同:
tinygltf::Model model;
tinygltf::TinyGLTF loader;
std::string err;
std::string warn;
bool load_ok;
if(is_glb)
load_ok = loader.LoadBinaryFromFile(&model, &err, &warn, std::string{ path_name });
else
load_ok = loader.LoadASCIIFromFile(&model, &err, &warn, std::string{ path_name });
if (!warn.empty())
log_warn("{}", warn);
if (!err.empty())
log_err("{}&#