cesium-native icon indicating copy to clipboard operation
cesium-native copied to clipboard

Implicit tiling is no longer an extension in 3D Tiles 1.1

Open nithinp7 opened this issue 3 years ago • 4 comments

It is harmless and potentially useful to continue supporting the 3DTILES_implicit_tiling extension. But in 3D Tiles 1.1 implicitTiling is an optional property in the Tile schema itself, so we should support tilesets that use that new property.

nithinp7 avatar Jul 20 '22 17:07 nithinp7

Are there plans for Cesium3DTilesSelection to eventually use Cesium3DTilesReader?

I've been working on a branch that reads both 3D Tiles Next and 3D Tiles 1.1 in Cesium3DTilesReader, and I have code in a separate project that can upgrade from 3D Tiles Next to 3D Tiles 1.1 (including EXT_feature_metadata to EXT_mesh_features/EXT_structural_metadata) that could be useful here.

It would be nice to support 3D Tiles 1.1 in one full swoop and keep Cesium3DTilesSelection as simple as possible.

lilleyse avatar Jul 20 '22 17:07 lilleyse

I also stumbled over the forum thread that sparked this issue, and got a bit side-tracked by trying to try this out. I updated cesium-cpp for the latest state, and it seems that even when wrapping the implicit tiling into an extension object, the 'SparseImplicitOctree' sample cannot be parsed or traversed - but that might as well be an issue of me trying to set up the Catch2 test with some copy+paste from the other tests, who knows.

(There seem to be other issues for the update to 1.1 that are currently in progress - for example, I noticed that the 'MetadataGranularities' sample causes trouble, because multiple contents are not supported. This was already mentioned at https://github.com/CesiumGS/cesium-native/issues/481#issuecomment-1122284487 , but in view of some aspects of the current implemention, I'm reeeally curious to see how this will be resolved...)

However, I just committed https://github.com/javagl/cesium-native/commit/aa16ea6318855f463b76f1b5066048286acc804f into a branch, maybe it's easy to figure out what's wrong with the test - right now, it bails out with a segfault.

javagl avatar Jul 20 '22 18:07 javagl

@lilleyse I think the consolidation between Cesium3DTilesSelection and Cesium3DTilesReader got pushed to the backlog for the integrations team (so it's not on the 3-4 month roadmap). Bao's refactor decouples most of the content management state away from Tile and Tileset, but there's still a bit more work to decouple the selection-related state. Although the fact that you have some of the 3D Tiles Next -> 3D Tiles 1.1 upgrade paths working makes it more tempting to make the consolidation sooner rather than later. I will bring it up to the team.

nithinp7 avatar Jul 20 '22 18:07 nithinp7

@javagl Thanks for looking into it as well - the subtree file in the forum post still looks suspicious, but I'm waiting to see if using the extension solves their issue.

Regarding your personal Cesium Native testing, I'm not sure why that isn't working except for the lack of support for the Tile.implicitTiling property (but I assume you tried that as an extension as well from what you said). That's a good point regarding multiple contents though, it will take a bit of thought. Maybe we can transcribe tiles with multiple contents to be multiple sibling tiles each with individual content.

nithinp7 avatar Jul 20 '22 19:07 nithinp7