-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Develop a concept for glTF version handling #5
Comments
In view of KhronosGroup/glTF-Sample-Models#9 (comment) : There should also be an option to explicitly upgrade an asset. Right now, the libraries can load both 1.0 and 1.1. When converting an OBJ file, the result will be 1.1. But it is no (yet) possible to load an 1.0 asset and save it as 1.1. |
This issue was opened before glTF 2.0 was announced. The incompatibilities between 1.0 and 1.1 could have been managable, maybe with some minor (!) custom, local schema tweaks. But the changes between 1.0 and 2.0 basically burn down everything that "glTF" was until now, and re-build it from scratch - similiar, conceptually, but different enough to make it hard to justify keeping an existing class structure (at least for a typed language). My current roadmap is as follows:
However, there still has to be the option to read glTF 1.x files. There are too many glTF 1.x models out there to just ignore them. Options here include:
In any case, during this refactoring, I will try to minimize the explicit, version-specific dependencies of the "high-level" classes to the auto-generated ones. (In some cases, this may be done by introducing abstraction layers. A completely independent implementation of the high-level classes would be nice, but hard to achieve in reasonable time). I hope that future glTF versions will not include such drastic changes, but ... I won't rely on this, because I also assumed this for glTF 1.0, and it turned out to be very wrong. |
With the updates for glTF 2.0, the Suggestions for improvements are always welcome (possibly, in dedicated issues) |
The jgltf-impl classes are currently auto-generated from the schema. Fortunately, the changes between glTF 1.0 and 1.1 are "backward compatible" in the sense that the generated classes can still be used to read a glTF asset with version 1.1 using the classes that had actually been generated for version 1.0.
But this might no longer be the case for future versions.
The question of how incompatible version changes are handled using the auto-generated classes (or whether auto-generation is still feasible at all in the future) has to be tackled.
This also refers to the version handling in the jgltf-validator, although it is still incomplete and in a very early state.
The text was updated successfully, but these errors were encountered: