{"id":17318795,"url":"https://github.com/syoyo/tinygltfloader","last_synced_at":"2025-04-03T02:10:51.047Z","repository":{"id":66467932,"uuid":"48317630","full_name":"syoyo/tinygltfloader","owner":"syoyo","description":"Header only C++ Tiny glTF loader.","archived":false,"fork":false,"pushed_at":"2019-11-20T13:26:13.000Z","size":1210,"stargazers_count":254,"open_issues_count":3,"forks_count":34,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-03-24T08:22:48.103Z","etag":null,"topics":["cpp","gltf"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syoyo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-12-20T11:26:43.000Z","updated_at":"2025-01-25T19:55:06.000Z","dependencies_parsed_at":"2023-03-10T23:58:16.187Z","dependency_job_id":null,"html_url":"https://github.com/syoyo/tinygltfloader","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syoyo%2Ftinygltfloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syoyo%2Ftinygltfloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syoyo%2Ftinygltfloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syoyo%2Ftinygltfloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syoyo","download_url":"https://codeload.github.com/syoyo/tinygltfloader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246922247,"owners_count":20855345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","gltf"],"created_at":"2024-10-15T13:21:04.905Z","updated_at":"2025-04-03T02:10:51.006Z","avatar_url":"https://github.com/syoyo.png","language":"C","readme":"# Tiny glTF loader, header only C++ glTF 1.x parsing library.\n\n`TinyGLTFLoader` is a header only C++ glTF 1.x https://github.com/KhronosGroup/glTF parsing library.\n\n**TinyGLTFLoader is deprecated. Please go https://github.com/syoyo/tinygltf for glTF 2.0 parser/serializer**\n\n![](images/glview_duck.png)\n\n[![Build Status](https://travis-ci.org/syoyo/tinygltfloader.svg?branch=master)](https://travis-ci.org/syoyo/tinygltfloader)\n\n[![Build status](https://ci.appveyor.com/api/projects/status/i5ku97hf0r0quti3?svg=true)](https://ci.appveyor.com/project/syoyo/tinygltfloader)\n\n## Features\n\n* Portable C++. C++-03 with STL dependency only.\n* Moderate parsing time and memory consumption.\n* glTF specification v1.0.0\n  * [x] ASCII glTF\n  * [x] Binary glTF(https://github.com/KhronosGroup/glTF/tree/master/extensions/Khronos/KHR_binary_glTF)\n* Buffers\n  * [x] Parse BASE64 encoded embedded buffer fata(DataURI).\n  * [x] Load `.bin` file.\n* Image(Using stb_image)\n  * [x] Parse BASE64 encoded embedded image fata(DataURI).\n  * [x] Load external image file.\n  * [x] PNG(8bit only)\n  * [x] JPEG(8bit only)\n  * [x] BMP\n  * [x] GIF\n\n## Examples\n\n* [glview](examples/glview) : Simple glTF geometry viewer.\n* [writer](examples/writer) : Simple glTF writer(serialize `tinygltf::Scene` class) \n* [alembic_to_gltf](examples/alembic_to_gltf) : Simple Alembic to glTF converter. \n* [cyhair_to_gltf](examples/cyhair_to_gltf) : Simple CyHair(hair curves) to glTF converter.\n\n## TODOs\n\n* [ ] Write C++ code generator from json schema for robust parsing.\n* [ ] Support multiple scenes in `.gltf`\n* [ ] Parse `skin`\n* [ ] Compression/decompression(Open3DGC, etc)\n* [ ] Support `extensions` and `extras` property\n* [ ] HDR image?\n\n## License\n\nTinyGLTFLoader is licensed under MIT license.\n\nTinyGLTFLoader uses the following third party libraries.\n\n* picojson.h : Copyright 2009-2010 Cybozu Labs, Inc. Copyright 2011-2014 Kazuho Oku\n* base64 : Copyright (C) 2004-2008 René Nyffenegger\n* stb_image.h : v2.08 - public domain image loader - http://nothings.org/stb_image.h\n\n\n## Build and example\n\nCopy `stb_image.h`, `picojson.h` and `tiny_gltf_loader.h` to your project.\n\n```\n// Define these only in *one* .cc file.\n#define TINYGLTF_LOADER_IMPLEMENTATION\n#define STB_IMAGE_IMPLEMENTATION\n#include \"tiny_gltf_loader.h\"\n\nusing namespace tinygltf;\n\nScene scene; \nTinyGLTFLoader loader;\nstd::string err;\n  \nbool ret = loader.LoadASCIIFromFile(scene, err, argv[1]);\n//bool ret = loader.LoadBinaryFromFile(scene, err, argv[1]); // for binary glTF(.glb) \nif (!err.empty()) {\n  printf(\"Err: %s\\n\", err.c_str());\n}\n\nif (!ret) {\n  printf(\"Failed to parse glTF\\n\");\n  return -1;\n}\n```\n\n## Running tests.\n\n### Setup\n\nPython 2.6 or 2.7 required.\nGit clone https://github.com/KhronosGroup/glTF-Sample-Models to your local dir.\n\n### Run test\n\nAfter building `loader_example`, edit `test_runner.py`, then,\n\n    $ python test_runner.py\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyoyo%2Ftinygltfloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyoyo%2Ftinygltfloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyoyo%2Ftinygltfloader/lists"}