awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
syoyo avatar

syoyo/tinyobjloader

0
View on GitHub↗
3,826 نجوم·646 تفرعات·C++·2 مشاهدات

Tinyobjloader

TinyOBJLoader is a single-header C++ library designed for parsing Wavefront OBJ files. It functions as a stream-based text parser that extracts vertex, normal, and texture data into structured arrays for use in graphics and physics engines.

The project distinguishes itself as a high-performance geometry loader that utilizes multi-threading to distribute the processing of large-scale 3D environments across multiple CPU cores. It includes a mesh triangulator that converts complex polygons into triangles to ensure compatibility with standard graphics hardware.

The library supports a variety of geometry processing capabilities, including the extraction of complex primitives such as lines and points. It provides configurable 32-bit or 64-bit floating-point precision for high-fidelity rendering and allows for custom loading logic to override memory allocation and input-output backends.

Integration is handled through a single-header distribution model, eliminating the need for a complex build or installation process.

Features

  • Wavefront OBJ Parsers - Reads 3D geometry from Wavefront OBJ files and converts it into structures for graphics and physics engines.
  • 3D Polygon Triangulation - Converts faces with four or more vertices into triangles using internal algorithms or external triangulation libraries.
  • 3D Model Importers - Imports vertex, normal, and material data from model files into memory-efficient structures for rendering pipelines.
  • Polygon Triangulators - Converts faces with more than three vertices into triangles to ensure compatibility with standard graphics hardware.
  • Multi-Threaded Geometry Parsing - Distributes the processing of large 3D model files across multiple CPU cores to reduce scene loading times.
  • Stream-Based Text Processing - Reads raw text input sequentially to minimize memory overhead when converting files into structured vertex arrays.
  • Large-Scale Geometry Ingestion - Uses multithreading and stream-based parsing to load massive 3D environment files while minimizing memory overhead.
  • Header-Only Libraries - Implements a header-only distribution model that allows for quick integration of 3D model loading logic.
  • Single-Header Libraries - Distributed as a single-header library to eliminate complex build or installation processes.
  • High Precision Geometry Calculations - Processes vertex and material data using 32-bit or 64-bit floating point precision for high-performance computing tasks.
  • Precision-Switched Float Builds - Supports build-time selection between 32-bit and 64-bit floating-point precision to balance performance and model fidelity.
  • Large Dataset Optimizations - Accelerates the parsing of massive datasets using single-pass buffer processing, multithreading, and memory-mapped I/O.
  • Mesh and Model Loading - Wavefront OBJ loader.

سجل النجوم

مخطط تاريخ النجوم لـ syoyo/tinyobjloaderمخطط تاريخ النجوم لـ syoyo/tinyobjloader

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Tinyobjloader

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Tinyobjloader.
  • tinyobjloader/tinyobjloaderالصورة الرمزية لـ tinyobjloader

    tinyobjloader/tinyobjloader

    3,826عرض على GitHub↗

    tinyobjloader is a header-only C++ library for parsing Wavefront OBJ and MTL files. It extracts 3D mesh geometry, shape topology, and material definitions into memory, supporting the conversion of formatted text strings or files into vertex, normal, and texture coordinate data structures. The library provides a triangulation pipeline that converts complex, multi-vertex polygons into triangles using 2D projection and ear-clipping algorithms. It supports physically based rendering setups by extracting PBR material parameters and texture maps from material library files. To handle large dataset

    C++
    عرض على GitHub↗3,826
  • tdewolff/minifyالصورة الرمزية لـ tdewolff

    tdewolff/minify

    4,119عرض على GitHub↗

    This project is a collection of Go libraries designed to reduce the size of multiple web formats while preserving functional integrity. It serves as a high-performance text processor and multi-format asset compressor for shrinking HTML, CSS, JavaScript, JSON, SVG, and XML files by removing redundant characters. The tool is designed for both static batch processing and real-time use. It includes middleware capabilities to intercept and minify web responses on the fly based on MIME types or file extensions, allowing for content compression during active data streams. The processing suite cover

    Gocssgohtml
    عرض على GitHub↗4,119
  • fb55/htmlparser2الصورة الرمزية لـ fb55

    fb55/htmlparser2

    4,774عرض على GitHub↗

    htmlparser2 is a collection of tools for high-performance markup parsing, DOM manipulation, and incremental stream processing. It functions as an HTML and XML parser that converts markup strings into structured object trees, alongside a streaming markup parser designed for memory-efficient processing of large documents. The project includes a DOM manipulation library for querying, modifying, and serializing document object model trees. It also provides a web feed parser to extract structured metadata and entries from RSS, RDF, and Atom feeds. The library covers broad capabilities in data par

    TypeScript
    عرض على GitHub↗4,774
  • holman/sparkالصورة الرمزية لـ holman

    holman/spark

    6,059عرض على GitHub↗

    Spark is a suite of command line utilities designed to render numeric data sets as compact visual graphs using Unicode characters. It functions as a terminal data visualizer and charting tool that converts sequences of numbers into visual trend lines within a shell environment. The tool generates sparkline graphs by mapping numeric value ranges to specific Unicode block characters. It utilizes linear value scaling to normalize input numbers to fit within available character heights and processes data sequentially from the standard input stream to produce real-time visual output. These capabi

    Shell
    عرض على GitHub↗6,059
عرض جميع البدائل الـ 30 لـ Tinyobjloader→

الأسئلة الشائعة

ما هي وظيفة syoyo/tinyobjloader؟

TinyOBJLoader is a single-header C++ library designed for parsing Wavefront OBJ files. It functions as a stream-based text parser that extracts vertex, normal, and texture data into structured arrays for use in graphics and physics engines.

ما هي الميزات الرئيسية لـ syoyo/tinyobjloader؟

الميزات الرئيسية لـ syoyo/tinyobjloader هي: Wavefront OBJ Parsers, 3D Polygon Triangulation, 3D Model Importers, Polygon Triangulators, Multi-Threaded Geometry Parsing, Stream-Based Text Processing, Large-Scale Geometry Ingestion, Header-Only Libraries.

ما هي البدائل مفتوحة المصدر لـ syoyo/tinyobjloader؟

تشمل البدائل مفتوحة المصدر لـ syoyo/tinyobjloader: tinyobjloader/tinyobjloader — tinyobjloader is a header-only C++ library for parsing Wavefront OBJ and MTL files. It extracts 3D mesh geometry,… tdewolff/minify — This project is a collection of Go libraries designed to reduce the size of multiple web formats while preserving… holman/spark — Spark is a suite of command line utilities designed to render numeric data sets as compact visual graphs using Unicode… fb55/htmlparser2 — htmlparser2 is a collection of tools for high-performance markup parsing, DOM manipulation, and incremental stream… catchorg/catch2 — Catch2 is a comprehensive framework for C++ software validation, providing an environment for unit testing,… dathere/qsv — qsv is a high-performance command line toolkit for querying, transforming, and analyzing comma-separated value files.…