mirror of
https://git.mirrors.martin98.com/https://github.com/syoyo/tinygltf.git
synced 2025-08-14 08:45:54 +08:00

This changes the way parameters for materials and techniques are printed. Now only one of either the number array or string value will be printed. Before, both would be printed with the same name being used.
Tiny glTF loader, header only C++ glTF parsing library.
TinyGLTFLoader
is a header only C++ glTF https://github.com/KhronosGroup/glTF parsing library
Features
- Portable C++. C++-03 with STL dependency only.
- Moderate parsing time and memory consumption.
- glTF specification v1.0.0
- ASCII glTF
- Binary glTF(https://github.com/KhronosGroup/glTF/tree/master/extensions/Khronos/KHR_binary_glTF)
- Buffers
- Parse BASE64 encoded embedded buffer fata(DataURI).
- Load
.bin
file.
- Image(Using stb_image)
- Parse BASE64 encoded embedded image fata(DataURI).
- Load external image file.
- PNG(8bit only)
- JPEG(8bit only)
- BMP
- GIF
Examples
TODOs
- Support multiple scenes in
.gltf
- Parse
animation
,sampler
- Compression/decompression(Open3DGC, etc)
- Support
extensions
andextras
property - HDR image?
License
TinyGLTFLoader is licensed under 2-clause BSD.
TinyGLTFLoader uses the following third party libraries.
- picojson.h : Copyright 2009-2010 Cybozu Labs, Inc. Copyright 2011-2014 Kazuho Oku
- base64 : Copyright (C) 2004-2008 René Nyffenegger
- stb_image.h : v2.08 - public domain image loader - http://nothings.org/stb_image.h
Build and example
Copy stb_image.h
, picojson.h
and tiny_gltf_loader.h
to your project.
// Define these only in *one* .cc file.
#define TINYGLTF_LOADER_IMPLEMENTATION
#define STB_IMAGE_IMPLEMENTATION
#include "tiny_gltf_loader.h"
using namespace tinygltf;
Scene scene;
TinyGLTFLoader loader;
std::string err;
bool ret = loader.LoadASCIIFromFile(scene, err, argv[1]);
//bool ret = loader.LoadBinaryFromFile(scene, err, argv[1]); // for binary glTF(.glb)
if (!err.empty()) {
printf("Err: %s\n", err.c_str());
}
if (!ret) {
printf("Failed to parse glTF\n");
return -1;
}
Running tests.
Setup
Python 2.6 or 2.7 required. Git clone https://github.com/KhronosGroup/glTF to your local dir.
Run test
After building loader_test
, edit test_runner.py
, then,
$ python test_runner.py
Languages
C++
82.4%
C
17.2%
CMake
0.2%
Python
0.1%