3d-tiles
3d-tiles copied to clipboard
Top-level information about tile content
Right now there's no place to put top-level information about tile content. Some use cases include:
- If the tileset has glTF content, list out the
extensionsUsedandextensionsRequiredso that an engine can bail out early if it sees a glTF extension it doesn't support - As glTF profiles start to develop, a tileset could require content to conform to a certain profile. This can help engines use specialized code paths (e.g. point clouds vs. unlit textured meshes).
- Conventions for multiple contents (e.g. "first content uses this profile, second content uses this profile")
- Top-level information for content types besides glTF
An early version of this was introduced in 3DTILES_content_gltf but did not make it back into 3D Tiles 1.1 because of some uncertainty about the use cases above.
"extensions": {
"3DTILES_content_gltf": {
"extensionsUsed": ["EXT_mesh_gpu_instancing"],
"extensionsRequired": ["EXT_mesh_gpu_instancing"]
}
}
An interim solution would probably be a new extension. For example named 3DTILES_gltf_extensions, which specify the used and required extension in a similar way as the 3DTILES_content_gltf did:
"extensions": {
"3DTILES_gltf_extensions": {
"extensionsUsed": ["EXT_mesh_gpu_instancing"],
"extensionsRequired": ["EXT_mesh_gpu_instancing"]
}
}
However, this would be a new extension just to repeat the same information that is already present in the old extension. Thus the solution might be to simple de-deprecate the old extension.