commit | 246654a15a60c091c99847ed6c2652ca01fee369 | [log] [tgz] |
---|---|---|
author | Syoyo Fujita <syoyo@lighttransport.com> | Wed Mar 21 20:32:22 2018 +0900 |
committer | Syoyo Fujita <syoyo@lighttransport.com> | Wed Mar 21 20:32:22 2018 +0900 |
tree | a8dfdf55090020ed93f6a37b121d60e311d5d594 | |
parent | ba28ddcc9e5f9f570d65c6af7840328a6cc1bf2a [diff] |
Code clean-up. Reviewed by @Squareeyes.
TinyGLTF
is a header only C++11 glTF 2.0 https://github.com/KhronosGroup/glTF library.
Work in process(devel
branch). Very near to release, but need more tests and examples.
TinyGLTF
uses Niels Lohmann's json library(https://github.com/nlohmann/json), so now it requires C++11 compiler. If you are looking for old, C++03 version, please use devel-picojson
branch.
json.hpp
..bin
file.extensions
and extras
propertyanimation
and skin
TinyGLTF is licensed under MIT license.
TinyGLTF uses the following third party libraries.
Copy stb_image.h
, json.hpp
and tiny_gltf.h
to your project.
// Define these only in *one* .cc file. #define TINYGLTF_IMPLEMENTATION #define STB_IMAGE_IMPLEMENTATION // #define TINYGLTF_NOEXCEPTION // optional. disable exception handling. #include "tiny_gltf.h" using namespace tinygltf; Model model; TinyGLTF loader; std::string err; bool ret = loader.LoadASCIIFromFile(&model, &err, argv[1]); //bool ret = loader.LoadBinaryFromFile(&model, &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; }
TINYGLTF_NOEXCEPTION
: Disable C++ exception in JSON parsing. You can use -fno-exceptions
or by defining the symbol JSON_NOEXCEPTION
and TINYGLTF_NOEXCEPTION
to fully remove C++ exception codes when compiling TinyGLTF.TINYGLTF_NO_STB_IMAGE
: Do not load images with stb_image. Instead use TinyGLTF::SetImageLoader(LoadimageDataFunction LoadImageData, void *user_data)
to set a callback for loading images.T.B.W.
Python 2.6 or 2.7 required. Git clone https://github.com/KhronosGroup/glTF-Sample-Models to your local dir.
After building loader_example
, edit test_runner.py
, then,
$ python test_runner.py
$ cd tests $ make $ ./tester $ ./tester_noexcept