NASA-AMMOS / 3DTilesRendererJS

Renderer for 3D Tiles in Javascript using three.js
https://nasa-ammos.github.io/3DTilesRendererJS/example/bundle/mars.html
Apache License 2.0
1.52k stars 275 forks source link

Is there a plan to support 3DTiles 1.1 #323

Closed ligaofeng0901 closed 2 weeks ago

ligaofeng0901 commented 1 year ago

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?

gkjohnson commented 1 year ago

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!

ligaofeng0901 commented 1 year ago

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 1 year ago

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

from 1.1 draft: README.md#version-history

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?

gkjohnson commented 1 year ago

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.

gkjohnson commented 2 weeks ago

Closing in favor of #235