TinyGLTF 项目使用教程
tinygltfHeader only C++11 tiny glTF 2.0 library项目地址:https://gitcode.com/gh_mirrors/ti/tinygltf
1. 项目的目录结构及介绍
TinyGLTF 是一个头文件库,主要用于加载和解析 glTF 2.0 格式的模型。以下是项目的目录结构及其介绍:
tinygltf/
├── CMakeLists.txt
├── LICENSE
├── README.md
├── include/
│ └── tiny_gltf.h
├── stb_image.h
├── stb_image_write.h
└── json.hpp
CMakeLists.txt
: 用于构建项目的 CMake 配置文件。LICENSE
: 项目的许可证文件,TinyGLTF 使用 MIT 许可证。README.md
: 项目说明文档,包含基本的使用方法和示例。include/
: 包含项目的主要头文件tiny_gltf.h
。stb_image.h
和stb_image_write.h
: 用于图像加载和保存的公共域库。json.hpp
: 用于 JSON 解析的第三方库。
2. 项目的启动文件介绍
TinyGLTF 是一个头文件库,没有传统意义上的“启动文件”。要使用 TinyGLTF,只需包含 tiny_gltf.h
头文件即可。以下是一个简单的示例:
#include "tiny_gltf.h"
int main() {
tinygltf::Model model;
tinygltf::TinyGLTF loader;
std::string err;
std::string warn;
bool ret = loader.LoadASCIIFromFile(&model, &err, &warn, "path/to/your/model.gltf");
if (!ret) {
std::cerr << "Failed to load glTF: " << err << std::endl;
return -1;
}
// 处理加载的模型
return 0;
}
3. 项目的配置文件介绍
TinyGLTF 主要通过编译时定义的宏来进行配置。以下是一些常用的配置选项:
TINYGLTF_IMPLEMENTATION
: 定义此宏以包含 TinyGLTF 的实现。STB_IMAGE_IMPLEMENTATION
和STB_IMAGE_WRITE_IMPLEMENTATION
: 定义这些宏以包含stb_image
和stb_image_write
的实现。TINYGLTF_NOEXCEPTION
: 可选地禁用异常处理。TINYGLTF_NO_INCLUDE_STB_IMAGE_WRITE
: 禁用从tiny_gltf.h
中包含stb_image_write.h
。TINYGLTF_USE_RAPIDJSON
: 使用 RapidJSON 作为 JSON 解析器/序列化器。TINYGLTF_USE_CPP14
: 使用 C++14 特性。
在 CMake 中使用 TinyGLTF 时,可以通过以下方式添加子目录并进行配置:
add_subdirectory(tinygltf)
set(TINYGLTF_HEADER_ONLY ON)
set(TINYGLTF_INSTALL OFF)
这样可以将 TinyGLTF 作为头文件库使用,并避免安装额外的文件。
tinygltfHeader only C++11 tiny glTF 2.0 library项目地址:https://gitcode.com/gh_mirrors/ti/tinygltf