3d-tiles icon indicating copy to clipboard operation
3d-tiles copied to clipboard

Top-level information about tile content

Open lilleyse opened this issue 3 years ago • 2 comments

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 extensionsUsed and extensionsRequired so 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"]
    }
  }

lilleyse avatar Jun 29 '22 16:06 lilleyse

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.

bjornblissing avatar Feb 03 '23 13:02 bjornblissing