NASA-AMMOS/3DTilesRendererJS

Is there a plan to support 3DTiles 1.1

ligaofeng0901 opened this issue · 4 comments

3DTiles 1.1 includes several new features and improvements
https://github.com/CesiumGS/3d-tiles/tree/draft-1.1-release/specification
Can we support the new version?

Hello! There are no active plans to add 1.1 features to the project but if you'd like to make a PR to add support for the new features I'm happy to review the code and get them added. It would be best to make an issue to provide your plan first, though.

If this is needed for professional work and there are specific features you want to financially sponsor the development of you can email me!

Hello! There are no active plans to add 1.1 features to the project but if you'd like to make a PR to add support for the new features I'm happy to review the code and get them added. It would be best to make an issue to provide your plan first, though.

If this is needed for professional work and there are specific features you want to financially sponsor the development of you can email me!

Thanks! I think I should read the code first. I will explain my plan in this issue if I can.

dbuck commented

I went looking for a summary of changes from 1.0 -> 1.1:

from 1.1 draft: README.md#version-history

  • 3D Tiles 1.1
    • Additions:
      • Support for structured metadata that can be associated with tilesets, tiles, tile content, and tile content groups
      • Directly support glTF assets as tile contents
      • Support for multiple tile contents
      • Support for implicit tiling schemes
    • Deprecations:
      • The original tile formats (b3dm, i3dm, pnts, and cmpt) are deprecated in favor of glTF content
      • The tileset.properties are deprecated, in favor of the more versatile metadata support

gltf extension works now, I'm using that in matterport tilesets, would need a closer read to see if there's changes in the 1.1 spec from the 1.0 + gltf extension

metadata would need additional work, there was some disconnect between getting the top level tileset blobs at tile parse iirc when I looked at whether that was one that could be added via 1.0 extensions, we opted to include our data in extras at the time.

implicit tiling and multiple tile contents would both need some substantial effort to implement I believe?

implicit tiling and multiple tile contents would both need some substantial effort to implement I believe?

I'd have to do a deeper dive but for multiple tile contents it may be the case that the bulk of the changes should be able to be consolidated in the requestTileContents function. As far as I can tell it looks like it just means that multiple fetch and parse promises have to be managed per tile and evicted from the caches together.

For implicit tiling the easy thing to do would probably be to preprocess any loaded tilesets (including externally referenced tilesets) and assign the implicit bounding boxes to the children ahead of time - though I haven't looked deeply at how complex the format is here.