Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Error: Tile3DLayer: Failed to render layer of type cmpt #8789

Open
7 tasks
joedjc opened this issue Apr 15, 2024 · 2 comments
Open
7 tasks

[Bug] Error: Tile3DLayer: Failed to render layer of type cmpt #8789

joedjc opened this issue Apr 15, 2024 · 2 comments
Labels

Comments

@joedjc
Copy link

joedjc commented Apr 15, 2024

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 @deck__gl_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)

Screenshot 2024-04-15 at 09 45 59

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

  • Script tag
  • React
  • Python/Jupyter notebook
  • MapboxOverlay
  • GoogleMapsOverlay
  • CartoLayer
  • ArcGIS

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

  • Framework version: v9.0.0-beta-10
  • Browser: Chrome Version 122.0.6261.69 (Official Build) (arm64)
  • OS: MacOS 14.2.1

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 @deck__gl_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)

@joedjc joedjc added the bug label Apr 15, 2024
@ibgreen
Copy link
Collaborator

ibgreen commented Apr 15, 2024

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).

@joecusdin
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants