/3d-tiles

Specification for streaming massive heterogeneous 3D geospatial datasets :earth_americas:

Primary LanguageBatchfile

3D Tiles

https://cesium.com/

A building CAD model is fused with photogrammetry data using 3D Tiles, data courtesy of Bentley Systems.

Overview

3D Tiles is an open specification for sharing, visualizing, fusing, and interacting with massive heterogenous 3D geospatial content across desktop, web, and mobile applications.

Open and interoperable

As an open specification with an open-source runtime implementation, 3D Tiles allows data providers and app developers to make massive and complex 3D information more accessible, interoperable, and useful across all kinds of tools and applications.

Heterogeneous

With a defined set of file formats, multiple types of 3D geospatial content including photogrammetry/massive models, BIM/CAD, 3D buildings, instanced features, and point clouds can be converted into 3D Tiles and combined into a single dataset.

Designed for 3D

Bringing techniques from the field of 3D graphics and built on glTF, 3D Tiles defines a spatial hierarchy for fast streaming and precision rendering, balancing performance and visual quality at any scale from global to building interiors.

Semantic, interactive, and styleable

3D Tiles preserve per-feature metadata to allow interaction such as selecting, querying, filtering, and styling efficiently at runtime.

Specification

Please provide spec feedback by submitting issues. For questions on implementation, generating 3D Tiles, or to showcase your work, join the Cesium community forum. A list of resources for developers, including blog posts and presentations that explain the concepts and applications of 3D Tiles, can be found on the 3D Tiles Resources page.

Upcoming

3D Tiles Next is a set of new capabilities for the future of 3D Tiles. Provided as draft extensions to the 3D Tiles 1.0 specification, these features may be incorporated into 3D Tiles 2.0 in the future.

  • Tile Content: glTF 2.0 assets may be used directly as tile content, without intermediate formats, improving interoperability with 3D content and tooling ecosystems. Tiles may reference multiple contents — for organization, styling, and filtering — and contents may be collected into groups similar to map layers in mapping applications.
  • Implicit Tiling: Common subdivision schemes and spatial index patterns may be declared without listing bounding volumes exhaustively. Reduces tileset size, and enables new optimizations including faster traversal, raycasting, random access, and spatial queries.
  • Metadata: Metadata in 3D Tiles gains more expressiveness and flexibility, with a well-defined type system, new encoding options (e.g. JSON or binary), and a range of granularity options. Metadata may be associated with high-level objects like tilesets, tiles, or tile content groups, or with individual vertices and texels on glTF 2.0 geometry.

A curated list of resources for developers can be found on the 3D Tiles Next Resources page.

3D Tiles Ecosystem

Tool Description
Cesium ion Sign up for an account to to upload and convert content to 3D Tiles. Supports:
  • glTF (.gltf, .glb)
  • CityGML (.citygml, .xml, .gml)
  • KML/COLLADA (.kml, .kmz)
  • LASer (.las, .laz)
  • COLLADA (.dae)
  • Wavefront OBJ (.obj)
CesiumJS Open source JavaScript runtime engine for visualizing 3D Tiles
3D Tiles Validator Open source Node.js library and command-line tools for validating 3D Tiles
3D Tiles Samples Open source command-line tools for generating sample 3D Tiles
Safe FME Desktop application for transforming data. The CesiumIonConnector converts data to 3D Tiles via Cesium ion.
Bentley ContextCapture Desktop application for converting photographs and/or point clouds to 3D Tiles.

See the 3D Tiles Ecosystem for examples of who's using 3D Tiles.

3D Tiles Reference Card

The 3D Tiles Reference Card is an approachable and concise guide to learning about the main concepts in 3D Tiles and designed to help integrate 3D Tiles into runtime engines for visualization and analysis of massive heterogeneous 3D geospatial content.

This guide augments the fully detailed 3D Tiles specification with coverage of key concepts to help developers jumpstart adopting 3D Tiles.

Contributing

3D Tiles is an open specification and contributions including specification fixes, new tile formats, and extensions are encouraged. See our guidelines for contributing in CONTRIBUTING.md.


Created by the Cesium team and built on glTF.