The 3D tiles category is still under development.
The 3D Tiles category generalizes hierarchical geospatial data structures. It is being defined for the OGC 3D Tiles standard but may be generalized to handle the OGC i3s standard and the
potree format as well.
To start loading tiles once a top-level tileset file is loaded, the application can instantiate the
Tileset3D class and start calling
Since 3D tiled data sets tend to be very big, the key idea is to only load the tiles actually needed to show a view from the current camera position.
Tileset3D allows callbacks (
onTileUnload) to be registered that notify the app when the set of tiles available for rendering has changed. This is important because tile loads complete asynchronously, after the
tileset3D.traverse(...) call has returned.
To help applications process the
position data in the tiles, 3D Tiles category loaders are expected to provide matrices are provided to enable tiles to be used in both fixed frame or cartographic (long/lat-relative, east-north-up / ENU) coordinate systems:
Position units in both cases are in meters.
For cartographic coordinates, tiles come with a prechosen cartographic origin and precalculated model matrix. This cartographic origin is "arbitrary" (chosen based on the tiles bounding volume center). A different origin can be chosen and a transform can be calculated, e.g. using the math.gl
|The root tile header|
|Center of tileset in fixed frame coordinates|
|Center of tileset in cartographic coordinates |
|A web mercator zoom level that displays the entire tile set bounding volume|
|Format specific data|
|"Center" of tile geometry in WGS84 fixed frame coordinates|
|"Origin" in lng/lat (center of tile's bounding volume)|
|Transforms tile geometry positions to fixed frame coordinates|
|Transforms tile geometry positions to ENU meter offsets from |
|Values are accessor objects.|
TBA - batch ids?
|Array of parsed tile objects|
Following vis.gl conventions,
attributes are represented by "glTF-style" accessor objects with the
value field containing the binary data for that attribute stored in a typed array of the proper type.
|No||Contains the typed array (corresponds to |
|No||Number of components, |
|Yes||Starting offset into the bufferView.|
|Yes||The number of elements/vertices in the attribute data.|