ebeaufay / threedtiles

3DTiles viewer for three.js
MIT License
270 stars 32 forks source link

Cesium Tiling 1.1 data #22

Closed jayantpaliwal closed 6 months ago

jayantpaliwal commented 9 months ago

I have generated tiling data from cesium ion. https://github.com/CesiumGS/3d-tiles/tree/draft-1.1/specification/ImplicitTiling but the viewer is not rendering the data. the issue is unable to read file from subtree structure. How to bind these placeholder values levels and x y z ?

{
  "asset": {
    "version": "1.1",
    "extras": {
      "ion": {
        "georeferenced": false,
        "movable": true
      }
    }
  },
  "schema": {
    "id": "cesium-tiling-pipeline",
    "classes": {
      "tile": {
        "properties": {
          "tightBoundingBox": {
            "name": "Tight Bounding Box",
            "type": "SCALAR",
            "componentType": "FLOAT64",
            "array": true,
            "count": 12,
            "semantic": "TILE_BOUNDING_BOX"
          }
        }
      }
    }
  },
  "geometricError": 21.495847061053393,
  "root": {
    "boundingVolume": {
      "box": [2.15731143951416, 10.192809104919434, 0.8775157928466797, 12.410633087158203, 0.0, 0.0, 0.0, 12.410633087158203, 0.0, 0.0, 0.0, 12.410633087158203]
    },
    "geometricError": 0.7218289051132697,
    "refine": "REPLACE",
    "content": {
      "uri": "tiles/{level}/{x}/{y}/{z}.glb"
    },
    "metadata": {
      "class": "tile",
      "properties": {
        "tightBoundingBox": [2.15731143951416, 8.006588459014893, -0.9987449645996094, 12.410633087158203, 0.0, 0.0, 0.0, 10.224412441253662, 0.0, 0.0, 0.0, 10.534372329711914]
      }
    },
    "implicitTiling": {
      "subdivisionScheme": "OCTREE",
      "subtreeLevels": 6,
      "availableLevels": 6,
      "subtrees": {
        "uri": "subtrees/{level}/{x}/{y}/{z}.subtree"
      }
    }
  }
}
ebeaufay commented 9 months ago

Yes I didn't add support for implicit tiling yet, you're the first to ask.

I will add it. Any chance you can share a small dataset for testing?

jayantpaliwal commented 9 months ago

@ebeaufay implicit tiling datasets. https://firebasestorage.googleapis.com/v0/b/dive-testing-268508.appspot.com/o/grid.zip?alt=media&token=7520776b-cd5e-474f-a0cc-071a902ac371

https://firebasestorage.googleapis.com/v0/b/dive-testing-268508.appspot.com/o/Sample%20(1.1).zip?alt=media&token=ca577f13-5d1b-4648-82b5-2de4e5ca6589

ebeaufay commented 9 months ago

Alright I'm working on this but the Implicit tiling is definitely a big complication on the format.

Rant : They talk about performance improvements but browsers are so performant at decoding json the gains seem minimal compared to the increased complexity. This kind of spec is why the standard is going to stay tied to very specialized and expensive software and OGC keeps wondering why their standards aren't more popular.

Anyhow, thanks for the sample datasets. I'll update this thread when I have something working

jayantpaliwal commented 7 months ago

Hi @ebeaufay any updates?

ebeaufay commented 7 months ago

Well I got a second request so it's definitely happening. It's planned for February.

ebeaufay commented 6 months ago

support for OGC3DTiles 1.1 added in v9.2.15.

Support includes gltf tiles, multiple contents and implicit tiling but not tile metadata. metadata can still be stored in the glb meshes.

If you don't have time to test, I'll close the issue soon but feel free to create another