Skip to content
javaglPublic

About

Java libraries related to glTF

Resources

Stars

266 stars

Watchers

20 watching

Forks

Latest commit

 

History

762 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JglTF - Java libraries for glTF

Note: These libraries are still subject to change.

What is glTF?

The following image gives an overview of glTF:

gltfOverview-2.0.0-small.png

A larger version of this image, as well as PDF versions, can be found on the glTF overview releases page.


Project Overview

The jgltf-model project allows reading and writing glTF models, and accessing the elements of that glTF model, while hiding most of the implementation details.

Adding the jgltf-model-extensions project as a dependency in the Maven POM will automatically integrate the support for all glTF extensions that are currently supported by JglTF. (See the 'Extensions' section below for details)

The jgltf-model-builder project is built on top of the jgltf-model project, and offers convenience functions for building glTF models programmatically.

The jgltf-model-transform project is an experimental project that aims at supporting structural modifications of existing glTF models. For example, it contains functions for pruning unused elements from glTF models, and for revalidating glTF models after elements have been added or removed.

Model and Implementation projects

The implementations of core glTF and its extensions always come in two flavors:

  • The impl project contains classes for the low-level representation of glTF and its extensions. These classes are auto-generated from the JSON schema, and generally not visible to users.
  • The model projects offer a convenience layer on top of the impl projects, and offer structures that can be read and manipulated more easily.

For example, the jgltf-impl-v1 and jgltf-impl-v2 projects contain the classes that represent glTF 1.0 and 2.0 data, and are auto-generated from the glTF JSON schema. The jgltf-model project offers the convenience layer on top of these projects.

Extensions

Users only have to add the jgltf-model-extensions project as one of their Maven dependencies. This project does not contain any functionality for itself. It only declares dependencies to all extensions that are currently supported by JglTF. The implementations will then automatically discover the classes that are required for the extension support, using a Service Loader.

Supported Extensions

The extensions that are currently supported by JglTF are listed here:

For each of of these ...model... projects, there is the corresponding ...impl-v2... project that contains the low-level classes.

Further Projects

OBJ to glTF Converter

The jgltf-obj is a library/application for loading OBJ files and converting them into glTF 1.0 or 2.0 assets.

glTF Viewer

Note: This viewer was originally implemented for glTF 1.0. It does not fully support glTF 2.0 and PBR (physically based rendering).

The jgltf-viewer is a base library for glTF viewers. The jgltf-viewer-jogl and jgltf-viewer-lwjgl projects contain implementations of this viewer based on JOGL and LWJGL.

glTF Browser

The jgltf-browser is a simple standalone application that combines functionalities of the JglTF libraries: It allows loading glTF 1.0 or 2.0 from files or URLs via drag-and-drop, offers a basic functionality for browsing through the glTF structure, showing the images, shader code and accessor data in a structured form, importing OBJ files as glTF, and saving glTF as standard, embedded or binary glTF files.

About

Java libraries related to glTF

Resources

Stars

266 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages