Skip to content
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

Support for glTF 2.0 #4009

Closed
17 of 23 tasks
pjcozzi opened this issue Jun 8, 2016 · 15 comments
Closed
17 of 23 tasks

Support for glTF 2.0 #4009

pjcozzi opened this issue Jun 8, 2016 · 15 comments

Comments

@pjcozzi
Copy link
Contributor

pjcozzi commented Jun 8, 2016

Changes from 1.0 to 2.0 are here: KhronosGroup/glTF#605

The 2.0 spec still needs a bit more work, but is converging quickly.


Cesium / glTF Pipeline / COLLADA2GLTF / 3D Tiles updates

TBA

@lasalvavida
Copy link
Contributor

lasalvavida commented Aug 29, 2016

Copying from #605 to track progress in Cesium.

  • asset is now required (This shouldn't change anything in Cesium)
  • accessor.min and accessor.max are now required, and clarified that the JSON value and binary data must be the same (This shouldn't change anything in Cesium)
  • Added accessor.normalized (glTF 1.0.1 Adds support for normalized vertex arrays and a test #4247)
  • buffer.byteLength and bufferView.byteLength are now required (This shouldn't change anything in Cesium)
  • buffer.type can no longer be "text", which was not used (This shouldn't change anything in Cesium, we never supported that anyway)
  • skin.inverseBindMatrices is now optional
  • Attribute parameters can't have a value defined in the technique or parameter
  • Only TEXCOORD and COLOR attribute semantics can be written in the form [semantic]_[set_index] (This shouldn't change anything in Cesium)
  • TEXCOORD and COLOR attribute semantics must be written in the form [semantic]_[set_index], e.g., just TEXCOORD should be TEXCOORD_0, and just COLOR should be COLOR_0 (This shouldn't change anything in Cesium)
  • camera.perspective.aspectRatio and camera.perspective.yfov must now be > 0, not >= 0 (This shouldn't change anything in Cesium, since we don't support glTF cameras)
  • Application-specific parameter semantics must start with an underscore, e.g., _TEMPERATURE and _SIMULATION_TIME (This shouldn't change anything in Cesium)
  • Added glExtensionsUsed property and 5125 (UNSIGNED_INT) accessor.componentType value (glTF 1.0.1 uint32 indices #4249)
  • Properties in technique.parameters must be defined in technique.uniforms or technique.attributes,
  • technique.parameter.count can only be defined when the semantic is JOINTMATRIX or an application-specific semantic is used. It can never be defined for attribute parameters; only uniforms
  • technique.parameter.semantic is required when the parameter is an attribute
  • material.parameter.value and technique.parameter.value must be an array
  • Mesh-only models are allowed, e.g., without materials (glTF 1.0.1 default material #4251)
  • Skeleton hierarchies (nodes containing jointName) must be separated from non-skeleton hierarchies.
  • Removed technique.functions.scissor and removed 3089 (SCISSOR_TEST) as a valid value for technique.states.enable (glTF 1.0.1 remove scissor test #4248)

@lasalvavida
Copy link
Contributor

@pjcozzi Do we want to completely pull support from SCISSOR_TEST throughout, or just when loading from a model?

@pjcozzi
Copy link
Contributor Author

pjcozzi commented Aug 29, 2016

@pjcozzi Do we want to completely pull support from SCISSOR_TEST throughout, or just when loading from a model?

Remove it completely from glTF since it was never used, but do not remove it from the lower-level Cesium renderer.

@pjcozzi pjcozzi changed the title Support for glTF 1.0.1 Support for glTF 1.1 Nov 4, 2016
@pjcozzi
Copy link
Contributor Author

pjcozzi commented Nov 30, 2016

1.1 spec pull request: KhronosGroup/glTF#784

@cx20
Copy link

cx20 commented Jan 2, 2017

I tested the display of the tutorial model of glTF 1.1 with Cesium 1.29.
Some glTF 1.1 models can not be displayed, please confirm.
https://github.com/cx20/gltf-test#gltf-11-tutorial-models

An error occurred while rendering. Rendering has stopped.
TypeError: Cannot read property 'nodes' of undefined
TypeError: Cannot read property 'nodes' of undefined
    at ye (https://cx20.github.io/gltf-test/libs/cesium/1.29/Cesium.js:453:20512)
    at de.update (https://cx20.github.io/gltf-test/libs/cesium/1.29/Cesium.js:454:27770)
    at a.update (https://cx20.github.io/gltf-test/libs/cesium/1.29/Cesium.js:469:14800)
    at Ue (https://cx20.github.io/gltf-test/libs/cesium/1.29/Cesium.js:472:20935)
    at Ve (https://cx20.github.io/gltf-test/libs/cesium/1.29/Cesium.js:472:19556)
    at Be (https://cx20.github.io/gltf-test/libs/cesium/1.29/Cesium.js:472:17516)
    at qe (https://cx20.github.io/gltf-test/libs/cesium/1.29/Cesium.js:472:23594)
    at de.render (https://cx20.github.io/gltf-test/libs/cesium/1.29/Cesium.js:472:28774)
    at P.render (https://cx20.github.io/gltf-test/libs/cesium/1.29/Cesium.js:478:9308)
    at t (https://cx20.github.io/gltf-test/libs/cesium/1.29/Cesium.js:477:29290)

@lasalvavida
Copy link
Contributor

Thanks @cx20. glTF 1.1 support is not integrated into mainline Cesium yet

This was referenced Jan 6, 2017
@pjcozzi pjcozzi changed the title Support for glTF 1.1 Support for glTF 2.0 Jan 17, 2017
@pjcozzi pjcozzi mentioned this issue Jun 5, 2017
14 tasks
@cx20
Copy link

cx20 commented Aug 1, 2017

I confirmed that the model of glTF 2.0 will be displayed by Cesium 1.36 (not 1.35).
https://github.com/cx20/gltf-test/tree/2.0

@pjcozzi
Copy link
Contributor Author

pjcozzi commented Aug 1, 2017

@cx20 very nice, thanks for checking so quickly (also, I think you mean 1.36)!

@pjcozzi
Copy link
Contributor Author

pjcozzi commented Oct 10, 2017

gltf-pipeline roadmap for glTF 2.0 - CesiumGS/gltf-pipeline#330

@pjcozzi
Copy link
Contributor Author

pjcozzi commented Oct 20, 2017

@lilleyse can you please update the above tasklist? Some of the items are finished.

@pjcozzi
Copy link
Contributor Author

pjcozzi commented Jun 17, 2018

@lilleyse can you please update the tasklists in this issue? What's left?

@lilleyse
Copy link
Contributor

Updated the task list. The major things left are:

  • Sparse accessors
  • Spec gloss extension
  • Update 3d-tiles samples and projects to use 2.0 (in progress)

@emackey
Copy link
Contributor

emackey commented Jun 18, 2018

@pjcozzi
Copy link
Contributor Author

pjcozzi commented Sep 26, 2018

@ggetz could you please update the tasklists above? Perhaps we can close this and submit/update other issues.

@tkazik
Copy link

tkazik commented May 17, 2020

I guess this can safely be closed since a while :)
Thanks for all your efforts!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants