Open joedjc opened 7 months ago
In the last 5 years we haven't really seen any use of composite 3D tiles, so we never put any effort into this.
Also the new 3D Tiles standard seems to be moving away from the original set of tile types toward GLBs (glTF) with embedded 3D tiles metadata, so I am a bit surprised to see .CMPT tiles appearing now.
I would say that we'd be willing to accept PRs fixing CMPT, but we are unlikely to prioritize this unless this is becoming a widespread issue (which can e.g. happen when Cesium makes changes to their tiling pipelines).
Thanks @ibgreen - i'm not sure why Cesium ION creates these - we've looked to see if we can avoid them being made but haven't found any. I'll reach out to Cesium to try to understand in what circumstances it uses CMPT.
I am also encountering this issue: 'Tile3DLayer: Failed to render layer of type cmpt'. I have used 3d-tiles-tools to convert .cmpt files to .b3dm for loading, but this is not an ideal solution. I hope the official support for direct loading of .cmpt files can be implemented. Thanks . This is a issues #6389 ,that is about the keyword : cmpt
@yangtanyu I am also facing the same, is there any workaround for this?
Is this a hard error that breaks all rendering? Perhaps we could just skip rendering these composite tiles and log a soft error until we support them in loaders.gl
use 3d-tiles-tools to convert .cmpt files to .b3dm for loading @anil1712
Description
Hi,
I'm trying to load an asset i've uploaded to Cesium ION (a GLB file converted to 3D tiles) in Deck GL (v9).
I'm using the cesium ION loader: CesiumIonLoader
new Tile3DLayer({ id: 'tile-3d-layer', pointSize: 2, data: TILESET_URL_2, loader: CesiumIonLoader, loadOptions: { 'cesium-ion': {accessToken: ION_TOKEN}, '3d-tiles':{isTileset:true}, isTileset:true, loadGLTF: true } })
Whilst some of the tiles load, I receive errors as some tiles seem to be composite tiles:
chunk-TLP2UBGU.js?v=2a7521f5:25091 deck: update of Tile3DLayer({id: 'tile-3d-layer'}): Tile3DLayer: Failed to render layer of type cmpt Error: Tile3DLayer: Failed to render layer of type cmpt at _Tile3DLayer._getSubLayer (@deck__gl_geo-layers.js?v=2a7521f5:19511:15) at @deckgl_geo-layers.js?v=2a7521f5:19603:24 at Array.map ()
at _Tile3DLayer.renderLayers (@deck gl_geo-layers.js?v=2a7521f5:19598:28)
at _Tile3DLayer._postUpdate (chunk-TLP2UBGU.js?v=2a7521f5:29493:34)
at _Tile3DLayer._update (chunk-TLP2UBGU.js?v=2a7521f5:29117:12)
at LayerManager._updateLayer (chunk-TLP2UBGU.js?v=2a7521f5:14613:13)
at LayerManager._updateSublayersRecursively (chunk-TLP2UBGU.js?v=2a7521f5:14570:16)
at LayerManager._updateLayers (chunk-TLP2UBGU.js?v=2a7521f5:14539:10)
at LayerManager.setLayers (chunk-TLP2UBGU.js?v=2a7521f5:14488:10)
I noticed that the loaders gl documentation for the Tiles3DLoader suggests it supports .cmpt file types (https://loaders.gl/docs/modules/3d-tiles/api-reference/tiles-3d-loader).
However, I can't see much other documentation of examples of this - so i'm not 100% sure if it's supported?
Flavors
Expected Behavior
Cesium IOC cmpt tiles are displayed using Deck GL
Steps to Reproduce
const deckOverlay = new DeckOverlay({ // interleaved: true, layers: [ new Tile3DLayer({ id: 'tile-3d-layer', pointSize: 2, data: TILESET_URL_2, loader: CesiumIonLoader, loadOptions: { 'cesium-ion': {accessToken: ION_TOKEN}, '3d-tiles':{isTileset:true}, isTileset:true, loadGLTF: true } }) ]})
Environment
Logs
chunk-TLP2UBGU.js?v=2a7521f5:25091 deck: update of Tile3DLayer({id: 'tile-3d-layer'}): Tile3DLayer: Failed to render layer of type cmpt Error: Tile3DLayer: Failed to render layer of type cmpt at _Tile3DLayer._getSubLayer (@deck__gl_geo-layers.js?v=2a7521f5:19511:15) at @deckgl_geo-layers.js?v=2a7521f5:19603:24 at Array.map ()
at _Tile3DLayer.renderLayers (@deck gl_geo-layers.js?v=2a7521f5:19598:28)
at _Tile3DLayer._postUpdate (chunk-TLP2UBGU.js?v=2a7521f5:29493:34)
at _Tile3DLayer._update (chunk-TLP2UBGU.js?v=2a7521f5:29117:12)
at LayerManager._updateLayer (chunk-TLP2UBGU.js?v=2a7521f5:14613:13)
at LayerManager._updateSublayersRecursively (chunk-TLP2UBGU.js?v=2a7521f5:14570:16)
at LayerManager._updateLayers (chunk-TLP2UBGU.js?v=2a7521f5:14539:10)
at LayerManager.setLayers (chunk-TLP2UBGU.js?v=2a7521f5:14488:10)