JglTF Java Libraries

repository·master·Indexed 42 days ago

https://github.com/javagl/jgltf

A suite of Java libraries for working with the glTF (GL Transmission Format) asset standard. It provides high-level models for reading and writing glTF files, programmatic builders, and a wide range of auto-generated classes for glTF extensions including KHR_materials_transmission, KHR_draco_mesh_compression, and EXT_texture_webp. Includes jgltf-browser, a utility for loading, viewing, and converting glTF data.

Tokens
10.1K
Snippets
15
Records
75
Agent score
53%

What's inside JglTF

  1. Overview of jgltf-model

    master

    The jgltf-model library provides a high-level Java abstraction layer for handling glTF (GL Transmission Format) assets. It sits on top of the auto-generated jgltf-impl-v1 and jgltf-impl-v2 implementation libraries, offering a more convenient way to interact with glTF entities and data in Java.

    Key capabilities include:

    • Accessing glTF data elements via the GltfModel class.
    • Reading glTF models from files or input streams.
    • Writing glTF models to output files.
    • Support for standard glTF assets, assets with embedded data in data URIs, and binary glTF (glb) assets.
  2. Overview of jgltf-validator

    master

    The jgltf-validator is a simple glTF validator designed to perform basic validation required for the other JglTF libraries to function correctly.

    Warning: This library is not intended for public use and does not perform a complete validation against the full glTF specification. Its API and behavior may change arbitrarily in the future.

  3. Overview of JglTF projects

    master

    JglTF is a collection of Java libraries for working with glTF assets. The project is organized into several specialized modules:

    • jgltf-model: The primary library for reading, writing, and accessing glTF model elements while abstracting implementation details.
    • jgltf-model-builder: A high-level utility built on top of jgltf-model that provides convenience functions for programmatic glTF construction.
    • jgltf-model-transform (Experimental): Supports structural modifications, such as pruning unused elements or revalidating models after changes.
    • jgltf-model-extensions: A dependency aggregator that enables support for all currently supported glTF extensions via the Java Service Loader mechanism.
  4. Overview of jgltf-impl-v1

    master

    jgltf-impl-v1 is a Java implementation of the glTF (GL Transmission Format) specification.

    Important Note: The classes in this package are automatically generated from the official glTF JSON schema. Because this is a schema-driven implementation, it is strictly tied to the structure defined in the glTF specification.

    If you are looking for the newer version of the implementation, refer to jgltf-impl-v2.

  5. Use jgltf-browser for glTF viewing and conversion

    master

    The jgltf-browser is a utility for loading, viewing, creating, browsing, and converting glTF data.

    Key Capabilities:

    • Loading: Drag-and-drop glTF files or links directly into the browser window, or load sample models from the repository.
    • Viewing: Visualize 3D models, view texture images, and inspect vertex/fragment shader source code.
    • Browsing: Right-click references to select and navigate to the referenced element.
    • Data Inspection: View the raw data provided by accessors.
    • Importing: Import OBJ files into the browser.
    • Conversion: Convert glTF files to either embedded- or binary glTF formats.
  6. Use EXT_mesh_features extension in JglTF

    master
    The jgltf-impl-v2-ext-mesh-features module provides auto-generated Java classes to support the EXT_mesh_features glTF extension. This extension allows for describing additional mesh-level features within a glTF asset. Use these classes when you need to parse or manipulate glTF files that utilize this specific extension.