-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Spec changes from 1.0 to 2.0 #605
Comments
Changes as of KhronosGroup/glTF#605 : - Removed "parameters" indirection from animation - Added a few words about interpolation, including "STEP" - Added "extensionsRequired" property - Added accessor.min/max Other changes: - Changed version number to align with glTF version - In KHR_binary_glTF changed "scene" to "content"
@lexaknyazev can you please make sure this is up-to-date for GDC next week...including as we make changes? |
@lexaknyazev @bghgary @sbtron can you please update this 1.0 to 2.0 summary once the spec stabilizes? |
Here are some points that I stumbled over while running a code generator (and 1.0-to-2.0 converter) against the 2.0 schema. I'm not sure whether they should be mentioned here (some of them may already be covered by links to issues where they are discussed), but I'll just drop this list here, and remove this comment later, if desired.
|
@javagl just curious, what 1.0 to 2.0 converter are you using? We would welcome your use and contributions to CesiumGS/gltf-pipeline#191 |
Hello @pjcozzi , is the AnalyticalGraphicsInc/gltf-pipeline tool generating gltf 2.0 already? I can't find clear information in the repo of which version is using. Thanks in advance! |
@mastayoda there is initial work for a 1.0 to 2.0 conversion stage in gltf-pipeline in CesiumGS/gltf-pipeline#191, but it needs to be updated to include the latest 2.0 changes. Contributions are welcome! |
Thanks so much @pjcozzi ! I will contribute for sure! Our company is trying to move away from the 3D mesh format mess and we are loving gltf so far. We will be jumping into the Blender export/import project soon to support 2.0 |
Referring to the comment above (i.e. to keep this issue focussed on the changes), only the short answer: I internally created a small converter in JglTF, for "1.0" -> "2.0+Technique" conversion, but there are still many open issues, and it's probably worthwhile to focus on the official glTF tools for contributions. |
This all sounds great, @mastayoda and @javagl! |
I can run the code generator on the latest (final) schema, and see whether the compiler complains at a certain point. This may not cover all changes (particularly not necessarily the semantics of changes), but could be a starter (in addition to my comment above #605 (comment) ) |
Sounds like a great start, @javagl! You are right that there will be many more subtle changes as well. |
In the initial comment above, I don't see things like morph targets, PBR or the After re-generating the code based on the latest schema, the following changes appeared in the diff (in addition to the points that I mentioned above... )
|
|
@javagl thanks for the input, you are very welcome to create a comprehensive 1.0 to 2.0 changelog as this one is clearly out-of-date. |
(Yes, the TODO of creating a change log is still implicitly pending) |
I think it is OK to close this since there is no action here. |
@javagl a complete 1.0 to 2.0 list is still welcome if you have the bandwidth. |
This issue will be updated as we work on the 1.1 spec (also see the spec pull request, #784)
1.0.1/1.1 was renumbered to 2.0
JSON format changes:
animation
:sampler
now refers directly to accessors, Tightening up animations #712material.parameter.value
andtechnique.parameter.value
must be an array, Make technique.parameter.value always array #690Additions:
accessor.normalized
, Add accessor.normalized #691, Сlarify normalized usage #706"STEP"
as validanimation.sampler.interpolation
value, Tightening up animations #712glExtensionsUsed
property and5125
(UNSIGNED_INT)accessor.componentType
value, Draft of uint32 support #619extensionsRequired
property, extensionsRequired property #720, Add more extensions docs #721Removals:
profile.version
, Drop revision number from profile.version #709buffer.type
, glTF 2.0 buffer: does it need a type? #786, Little clarification on buffer.type #629technique.functions.scissor
and removed3089
(SCISSOR_TEST
) as a valid value fortechnique.states.enable
, Remove scissor, see #668 #681Other edits:
asset
is now required, Mandatory dictionaries #642accessor.min
andaccessor.max
are now required, Require accessor min/max for POSITION? #593, and clarified that the JSON value and binary data must be the same, Clarification on min/max float precision #628.animation.sampler
andanimation.channel
restrictions, Tightening up animations #712buffer.byteLength
andbufferView.byteLength
are now required, .glTF / .bin mismatches? #560.skin.inverseBindMatrices
is now optional, Make inverseBindMatrices optional #461.value
defined in thetechnique
orparameter
, Thoughts on tightening up the spec #563 (comment).TEXCOORD
andCOLOR
attribute semantics can be written in the form[semantic]_[set_index]
, Thoughts on tightening up the spec #563 (comment).TEXCOORD
andCOLOR
attribute semantics must be written in the form[semantic]_[set_index]
, e.g., justTEXCOORD
should beTEXCOORD_0
, and justCOLOR
should beCOLOR_0
, Enforce array form for TEXCOORD and COLOR #649camera.perspective.aspectRatio
andcamera.perspective.yfov
must now be> 0
, not>= 0
, Thoughts on tightening up the spec #563 (comment)._TEMPERATURE
and_SIMULATION_TIME
, Thoughts on tightening up the spec #563 (comment).technique.parameters
must be defined intechnique.uniforms
ortechnique.attributes
,Thoughts on tightening up the spec #563 (comment).
technique.parameter.count
can only be defined when the semantic isJOINTMATRIX
or an application-specific semantic is used. It can never be defined for attribute parameters; only uniforms, d2f6945technique.parameter.semantic
is required when the parameter is an attribute, 28e113dtechnique.states.functions.blendColor
andtechnique.states.functions.depthRange
parameters now must match WebGL function min/max, Align blendColor and depthRange parameters with WebGL spec #707For upcoming 2.0 changes, see issues labeled "2.0" and not labeled "resolved".
For all 2.0 issues, see issues labeled "2.0".
The text was updated successfully, but these errors were encountered: