【C++】tinygltf基本使用方法

一、前言       

        网上的教程均为搭配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("{}&#
在3D图形开发中,能够读取和解析glTF和b3dm格式的3D模型文件对于数据交换和渲染是非常重要的。本资源《C++读写glTF及b3dm格式的最新第三方库代码》提供了针对这些格式的处理知识和代码示例,能够帮助你掌握如何使用C++进行高效的数据解析和处理。 参考资源链接:[C++读写glTF及b3dm格式的最新第三方库代码](https://wenku.csdn.net/doc/2r6d3yp6t6?spm=1055.2569.3001.10343) 首先,你需要了解glTF和b3dm的基本概念。glTF是一种开放标准的3D模型传输格式,它支持高效传输和加载3D内容,而b3dm是glTF的一种二进制包装格式,用于优化网络传输。接着,熟悉libgltftinygltfloader和tinygltf这几个C++库的使用是关键。libgltf是一个功能全面的glTF文件读写库,tinygltfloader是一个轻量级的模型加载器,适合资源受限的平台,而tinygltf则是一个轻量级的glTF解析库。 下面是使用libgltf库读取glTF文件的基本步骤和代码示例(步骤、代码、扩展内容,此处略)。同样的方法也可以应用于tinygltfloader或tinygltf库来处理glTF文件。而对于b3dm格式文件的解析,你可以利用资源中提供的b3dm文件格式的读取代码,进行相应的文件解析和数据提取。 通过这些步骤和示例,你将能够理解如何在C++中实现glTF和b3dm文件的读取和解析。要深入学习这些技术,以及如何将它们应用到实际的3D图形软件开发中,可以进一步查阅《C++读写glTF及b3dm格式的最新第三方库代码》。这份资源包含了丰富的实例和依赖库,能够帮助你掌握3D模型文件处理的更多细节,并在3D图形技术方面取得更深入的理解。 参考资源链接:[C++读写glTF及b3dm格式的最新第三方库代码](https://wenku.csdn.net/doc/2r6d3yp6t6?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值