awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
syoyo avatar

syoyo/tinygltf

0
View on GitHub↗
2,471 星标·489 分支·C++·MIT·2 次浏览

Tinygltf

tinygltf is a C++ library designed as a parser, serializer, and validation tool for 3D models in the glTF 2.0 binary and JSON formats. It functions as a streaming processor that can handle large 3D asset files incrementally through a callback-driven approach to reduce memory overhead.

The library uses a header-only implementation to simplify integration. It employs memory mapping to map binary buffers directly into memory and utilizes a symmetric parse-write pipeline to maintain data consistency between reading and writing files.

The system provides capabilities for 3D asset processing, including the ability to locate attributes within binary blobs via offset-based resolution. It also includes diagnostic utilities for identifying malformed assets by generating error reports with severity levels and exact file locations.

Features

  • GLTF Model Importers - Implements a full parser for loading glTF 2.0 assets from binary or text files into usable data structures.
  • Incremental Data Streaming - Processes 3D assets that exceed available system memory through incremental data streaming.
  • Large Dataset Streaming - Handles massive glTF files through incremental streaming to prevent high memory usage in complex scenes.
  • glTF Exporters - Provides tools for serializing 3D scene data into glTF 2.0 binary formats with embedded buffers.
  • Incremental Streamers - Provides incremental streaming of large 3D assets via callbacks to minimize memory consumption.
  • 3D Model Exporters - Exports internal 3D geometry and scene data into portable glTF files for software exchange.
  • glTF Asset Processors - Provides comprehensive utilities for reading and writing glTF 3D models in binary and text formats.
  • Streaming Processors - Implements a streaming processor for large 3D assets to maintain constant memory usage regardless of file size.
  • Offset-Based Addressing - Uses relative byte offsets within binary blobs to locate specific 3D attributes without full parsing.
  • glTF Validators - Generates detailed error logs with severity levels and file locations to identify malformed glTF assets.
  • Memory Mappings - Maps binary glTF buffers directly into the process address space to prevent expensive data duplication.
  • Contiguous Memory Buffers - Stores 3D geometry and animation data in flat, contiguous memory blocks for high-performance access.
  • Parse Error Reporters - Reports syntax and encoding errors in glTF assets with detailed offsets for debugging.
  • Symmetric Read-Write Pipelines - Utilizes a symmetric parse-write pipeline to maintain data consistency during 3D asset manipulation.
  • Serialization and Formats - Header-only glTF 2.0 library.
  • Graphics and Games - Tiny glTF 2.0 library for C++.

Star 历史

syoyo/tinygltf 的 Star 历史图表syoyo/tinygltf 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Tinygltf 的开源替代方案

相似的开源项目,按与 Tinygltf 的功能重合度排序。
  • fasterxml/jacksonFasterXML 的头像

    FasterXML/jackson

    9,740在 GitHub 上查看↗

    Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into native language objects. It functions as a JSON data binding library and a streaming parser that reads and writes data as discrete tokens to process large datasets with minimal memory. The project distinguishes itself through a bytecode serialization accelerator that replaces standard reflection with generated bytecode to increase data binding speed. It employs a module-based extensibility model to support a wide range of formats beyond JSON, including XML, YAML, CSV, TOML, and bin

    hacktoberfestjacksonjava-json
    在 GitHub 上查看↗9,740
  • tencent/rapidjsonTencent 的头像

    Tencent/rapidjson

    15,000在 GitHub 上查看↗

    RapidJSON is a header-only C++ library designed for high-performance parsing, generation, and manipulation of JSON data. It functions as a dual-mode engine, providing both an in-memory document object model for tree-based manipulation and a stream-based interface for event-driven processing. The library is built to minimize memory footprint and maximize execution speed, making it suitable for resource-constrained environments. The library distinguishes itself through advanced memory management and optimization techniques, including in-situ parsing that modifies input buffers directly to elimi

    C++
    在 GitHub 上查看↗15,000
  • mholt/papaparsemholt 的头像

    mholt/PapaParse

    13,492在 GitHub 上查看↗

    PapaParse is a delimited text processing library that converts CSV files into JSON objects or arrays. It provides a suite of tools for parsing delimited text and transforming structured data objects back into CSV formats through bidirectional serialization. The library is characterized by its ability to process massive datasets using incremental streaming and chunk-based processing to prevent memory overload. It includes an automatic delimiter detector to identify separator characters without manual configuration and utilizes web workers to offload parsing logic to background threads, keeping

    JavaScript
    在 GitHub 上查看↗13,492
  • nanopb/nanopbnanopb 的头像

    nanopb/nanopb

    5,437在 GitHub 上查看↗

    Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and microcontrollers. It functions as both an embedded serialization library for encoding and decoding structured data and a code generator that transforms definition files into compact C source and header files. The project is distinguished by its focus on static memory allocation, using fixed maximum sizes for strings and arrays to avoid dynamic memory allocation and heap fragmentation. It employs a callback-based streaming mechanism to process messages or fields that exceed available phys

    C
    在 GitHub 上查看↗5,437
查看 Tinygltf 的所有 30 个替代方案→

常见问题解答

syoyo/tinygltf 是做什么的?

tinygltf is a C++ library designed as a parser, serializer, and validation tool for 3D models in the glTF 2.0 binary and JSON formats. It functions as a streaming processor that can handle large 3D asset files incrementally through a callback-driven approach to reduce memory overhead.

syoyo/tinygltf 的主要功能有哪些?

syoyo/tinygltf 的主要功能包括:GLTF Model Importers, Incremental Data Streaming, Large Dataset Streaming, glTF Exporters, Incremental Streamers, 3D Model Exporters, glTF Asset Processors, Streaming Processors。

syoyo/tinygltf 有哪些开源替代品?

syoyo/tinygltf 的开源替代品包括: fasterxml/jackson — Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into… tencent/rapidjson — RapidJSON is a header-only C++ library designed for high-performance parsing, generation, and manipulation of JSON… nanopb/nanopb — Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and… mholt/papaparse — PapaParse is a delimited text processing library that converts CSV files into JSON objects or arrays. It provides a… serde-rs/serde — This project is a framework for the efficient serialization and deserialization of data structures. It provides a… capnproto/capnproto — CapnProto is a zero-copy serialization framework and remote procedure call system. It serves as a C++ communication…