There should be a 3D Tiles serializer for Cesium Native that goes between C++ and JSON. It would function very similarly to the glTF serializer and could probably use the same JSON schema <-> C++ generator located here, but with a few tweaks, as brought up in https://github.com/CesiumGS/cesium-native/issues/270. Note that right now only the glTF reader is generated automatically, not the writer (see https://github.com/CesiumGS/cesium-native/issues/228 for generating glTF writer).
The 3D Tiles serializer would not be responsible for pnts, b3dm, glTF, or any other external buffer data. It would only do the tileset.json. One challenge will be external tilesets. For now, we could keep it simple and let the caller create the external tilesets themselves (possibly using the 3D Tiles serializer).
Ultimately we'll want this to work with 3D Tiles exensions too, similar to how extensions are done in the glTF, but getting it working with the base 3D Tiles schema is a good start. I attached a small sample tileset below.
There should be a 3D Tiles serializer for Cesium Native that goes between C++ and JSON. It would function very similarly to the glTF serializer and could probably use the same
JSON schema <-> C++
generator located here, but with a few tweaks, as brought up in https://github.com/CesiumGS/cesium-native/issues/270. Note that right now only the glTF reader is generated automatically, not the writer (see https://github.com/CesiumGS/cesium-native/issues/228 for generating glTF writer).The 3D Tiles serializer would not be responsible for
pnts
,b3dm
,glTF
, or any other external buffer data. It would only do thetileset.json
. One challenge will be external tilesets. For now, we could keep it simple and let the caller create the external tilesets themselves (possibly using the 3D Tiles serializer).Ultimately we'll want this to work with 3D Tiles exensions too, similar to how extensions are done in the glTF, but getting it working with the base 3D Tiles schema is a good start. I attached a small sample tileset below.
Resources: 3D Tiles schemas: https://github.com/CesiumGS/3d-tiles/tree/master/specification/schema 3D Tiles extensions: https://github.com/CesiumGS/3d-tiles/blob/3d-tiles-next/3D_TILES_NEXT.md 3D Tiles Metadata extension: https://github.com/CesiumGS/3d-tiles/tree/3d-tiles-next/extensions/3DTILES_metadata/1.0.0/schema Sample data: sign.zip
Localhost sandcastle for viewing sample data
CC @baothientran @kring