Open ptrgags opened 3 years ago
Updated and reorganized the roadmap. Many of the outstanding tasks have GH issues, I linked them where appropriate.
A few more I can think of right now
AGI_articulations
Spec/Data/Models
folder. All the models should be deleted except those in the Specs/Data/Models/GltfLoader
folder which can eventually move into the parent folder.And some comments
vctr
transcode to ModelExperimental3DTileContent
may not be in scope for this effort. Let's keep treating it as its own content type Vector3DTileContent
. Let's see where the next iteration of vector tiles takes us first.ClassificationModel
- leverage GltfLoader
but otherwise treat as a separate content type since it so heavily uses the vector engineKHR_techniques_webgl
. This may involve changes in gltf-pipeline and won't work for all assets like the BIM tileset.In addition to basic 2D/Columbus View support...
One thing to note is new issues about ModelExperimental
have their own label of category - ModelExperimental
3D Tiles Next adds several new, experimental capabilities to 3D Tiles. Currently, they take the form of extensions to 3D Tiles 1.0 and glTF 2.0. An overview of these specifications can be found in the
3d-tiles
repository. See also the list of resourcesThis issue tracks the changes to CesiumJS and the implementation status for each.
3D Tiles Next Extensions - Initial Implementation
These features are now available as of CesiumJS 1.87.1
3DTILES_implicit_tiling
- experimental implementation in #9517Implicit3DTileContent
, which transcodes implicit tiles toCesium3DTile
objects when the content loads. This naïve transcoder is similar in functionTileset3DTileContent
(external tilesets).3DTILES_multiple_contents
- experimental implementation in #9517 - However, we found some caveats to the specification, in particular that there is no way to use contents that require mixedADD/REPLACE
refinement. This specification may be revised in the futureMultiple3DTileContent
3DTILES_metadata
- experimental implementation in #9517Cesium3DTileFeature.getPropertyInherited()
for CPU styling. Now the styling language will use tileset, tile, and group metadata3DTILES_content_gltf
- experimental implementation in #9517EXT_feature_metadata
- in progress. This involves significant refactoring ofModel.js
(see more in the Other Improvements section below)parseFeatureMetadata()
function for parsing theEXT_feature_metadata
extensionparseBatchTable()
function to transcode the old batch table into the new feature metadata format. This includes some classes for compatibility with JSON properties and theEXT_batch_table_hierarchy
extension.GltfFeatureMetadataLoader
Cesium3DTileBatchTable
to use feature metadata. This will enable using feature metadata for styling.Gltf3DTileContent
to support feature metadata3DTILES_bounding_volume_S2
- in progress, see PR #9506Additional Supporting Extensions
EXT_mesh_gpu_instancing
- in progress, requires theModel.js
refactorKHR_mesh_quantization
- in progressEXT_meshopt_compression
- futureModelExperimental
Implementation ImprovementsGeneral Improvements
noData
andrequired
fromEXT_mesh_features
- https://github.com/CesiumGS/cesium/issues/9887getPropertyIds()
andgetPropertyNames()
- https://github.com/CesiumGS/cesium/issues/9914Custom Shaders Improvements
gl_PointSize
in a custom shader: https://github.com/CesiumGS/cesium/issues/9851Pairity with the old
Model.js
The intent of
ModelExperimental
is to someday replace the existingModel.js
. Here are the critical steps to get it there:b3dm
- transcode toModelExperimental3DTileContent
with feature metadata and instancingi3dm
ModelExperimental3DTileContent
with feature metadata and instancingModelInstanceCollection
will no longer be neededpnts
ModelExperimental3DTileContent
withPOINTS
primitives and metadatacmpt
- make sure this is wired up to useModelExperimental
as needed.vctr
- transcode toModelExperimental3DTileContent
ClassificationModel
.CESIUM_primitive_outline
glTF extensionConsider Deprecating
KHR_techniques_webgl
support (related to glTF 1.0)KHR_materials_common
support