2.0 Roadmap
See original GitHub issueBackground:
The 2.0-cesium branch is used by Cesium to upgrade 1.0 models to 2.0. The upgraded models use the KHR_technique_webgl extension, which is supported by Cesium but hardly any other engines. PBR is not supported in this branch.
The 2.0 branch is a cleanup of glTF-pipeline that supports 1.0-2.0 conversion, conversions between glTF and glb, and other basic tasks. The other pipeline stages will eventually be moved over here once the core is solid.
One confusing aspect of the project right now is a subset of the files are used within Cesium for upgrading 1.0 models. Cesium includes gltf-pipeline which includes Cesium. Our early attempts at using browserify didn’t work, so we instead added a gulp task called build-cesium
which saves those gltf-pipeline files with AMD syntax to be packaged directly with Cesium. Additionally those files do not use the Node.js API or any third party packages (except Cesium). If anyone can think of an alternative to this approach that would be very helpful.
Another side effect of including gltf-pipeline in Cesium is we try to make those files as performant as possible. We try to avoid any large buffer copies, and because of that glTF 1.0 models that are upgraded to 2.0 are not always byte aligned correctly. This is best for Cesium but not best for gltf-pipeline, so there needs to be some compromise here.
To do:
- Add support for KHR_techniques_webgl and EXT_Blend when updating 1.0 models to 2.0
- Cesium integration
- Move
processModelMaterialsCommon
andprocessPbrMetallicRoughness
from the2.0-cesium
branch out of gltf-pipeline and into Cesium alone. - Test that packaging for Cesium still works on the
2.0
branch as it did on the2.0-cesium
branch. Will need to re-add thebuild-cesium
gulp task used by2.0-cesium
but with a different list of files to package.parseGlb
,addPipelineExtras
,updateVersion
,addDefaults
, and any helper files used by them need to be packaged. When loading a gltf model Cesium should calladdPipelineExtras
,updateVersion
,addDefaults
in that order. All the packaged files must be pure JS without any node-specific code. - Fix https://github.com/AnalyticalGraphicsInc/cesium/issues/5776
- Move
- Look at all pull requests that have gone into
master
and2.0-cesium
lately and see if any are applicable to the2.0
branch.
Issue Analytics
- State:
- Created 6 years ago
- Reactions:2
- Comments:21 (12 by maintainers)
Top GitHub Comments
2.0 is now merged into master and published to npm!
Would it be possible to (a) put a prominent note in the master branch README about the 2.0 branch, (b) merge 2.0 to master, and/or © publish the 2.0 branch to npm? Its discoverability is currently pretty low, given that most visitors to this repo are likely using glTF 2.0 at this point.