3D Tiles 2.0 Direct glTF Integration

The 3D Tiles 2.0 specification marks a major evolutionary step in streaming massive 3D geospatial datasets by natively adopting glTF 2.0 as its core content format. In previous versions, geospatial content was trapped within proprietary tile containers that added unnecessary parsing overhead and fragmented tooling. By moving to direct glTF integration, 3D Tiles 2.0 eliminates legacy binary wrappers, standardizes metadata through official glTF extensions, unifies instancing and point cloud data models, and dramatically improves interoperability with modern 3D software ecosystems.

Elimination of Legacy Tile Formats

In 3D Tiles 1.0, content payloads relied on specialized container formats:

  • b3dm (Batched 3D Model): Used for heterogeneous 3D models like buildings.
  • i3dm (Instanced 3D Model): Used for repeating structures like trees or street furniture.
  • pnts (Point Cloud): Used for LiDAR and photogrammetry point clouds.
  • cmpt (Composite): A container allowing multiple formats within a single tile.

3D Tiles 2.0 officially deprecates these legacy formats. Instead, tile content URIs point directly to standard .gltf or .glb files. This architectural change simplifies runtime engines, as client applications no longer need to implement custom parsers to unpack binary wrappers before feeding geometry to the graphics pipeline.

Standardized Metadata with glTF Extensions

Legacy formats stored per-feature properties (such as building IDs, materials, or zoning data) inside proprietary Batch Tables and Feature Tables. 3D Tiles 2.0 formalizes metadata handling directly inside the glTF asset using the EXT_structural_metadata extension.

This extension provides:

  • Schema Definition: Strongly typed property schemas defined per dataset or per tile.
  • Property Tables: Binary-packed columnar storage for structured attribute data.
  • Property Attributes and Textures: Direct assignment of metadata to vertices or encoded as textures, allowing dynamic styling, feature picking, and shader-driven filtering entirely within glTF primitives.

Native Hardware Instancing via EXT_mesh_gpu_instancing

The functionality formerly provided by .i3dm is now natively handled by the Khronos-standard EXT_mesh_gpu_instancing glTF extension. Instead of parsing a custom coordinate table from an instanced tile format, runtime engines can dispatch draw calls directly to modern GPU instancing APIs. This reduces CPU overhead and memory footprint while making instanced datasets fully compatible with standard glTF viewers.

Native Point Clouds as glTF Primitives

Instead of the isolated .pnts container, point clouds in 3D Tiles 2.0 are represented as native glTF meshes using the POINTS primitive mode. Properties traditionally attached to point cloud data—such as RGB color, intensity, classification, and normal vectors—are mapped to standard vertex attributes or handled via structural metadata. This unification means that compression schemes and rendering paths for point clouds share the exact same infrastructure as triangular meshes.

Unified Compression and Tooling Ecosystem

Because 3D Tiles 2.0 relies directly on glTF, it inherits the broader Khronos compression ecosystem:

  • KHR_draco_mesh_compression: For compact geometry and attribute transmission.
  • KHR_meshopt_compression: For ultra-fast decoding performance and optimal GPU upload speeds.
  • EXT_texture_webp and KHR_texture_basisu: Standardized texture compression pipelines.

Content creators can now use standard 3D modeling tools, digital content creation (DCC) software, and validation tools without converting back and forth through intermediate, geospatial-specific container layers.