A WIP deserializer / loader for GLTF2 written in Java. This project provides a basic deserializer to aid in loading of GLTF2 files.
SimpleGLTF2 is designed to be a simple library to load GLTF2 files into the Java ecosystem. Part of that ecosystem, and one of the motivations for writing this library, is fetching files from the web, from jar's, and from disk.
I beleive that glTF2 is a great and interesting file format for all uses of 3d models. Assimp failed to load my glTF2 files in my personal project, likely due to loading over the network. This has led me to learn more about glTF2 and a desire to support it directly inside of the Java ecosystem. I am aware of the JglTF but I do not like the complexity that brings by supporting both glTF1 and glTF2.
-
core package contains Java classes to hold deserialized GLTF2 JSON. All classes are prepended with GLTF
-
simple-viewer package is a port of the KronosGroup/glTF-Sample-Viewer to java. LWJGL3 is used for window management and OpenGL calls.
Standard Gradle Java tasks for building / running.
Dependencies are managed by Gradle.
TODO
Pull Requests are welcome! As this project is still in its very early stages I may not immediately accept pull requests while still working on design goals and strategies.
Pre-release
##Features
- Bindings to handle additional extensions
- Data classes to handle deserialization of gltf files
- Automatically resolve indices -> accessor/node/scene/etc
- Loading
- Standard .gltf files
- .glb files
- Extensions
- KHR_materials_pbrSpecularGlossiness
- KHR_draco_mesh_compression
- Custom Engine Friendly
- Handle calculations dictated by glTF format
- Abstract access to glTF data
- Getting Started and usage document
- Zoom, rotate models
- Child Node transforms
- Matrix
- TRS
- Texturing
- Base color
- Standard glTF PBR textures
- Animation
- Morph
- Skeletal / Skin
This project is licensed under the MIT License - see the LICENSE.md file for details