Cesium 3D Tiles geospatial streaming

Dawn Engine Cesium 3D Tiles streams global-scale geospatial content (terrain, photogrammetry, BIM, point clouds, Gaussian splats, voxels) into the Atom renderer using cesium-native and the 3D Tiles standard. It provides WGS84 georeference, camera-driven LOD, Cesium ion and self-hosted data sources, raster overlays, globe anchors, origin shift, and fly navigation—expressed as O3DE components and EBuses, and integrated with Dawn’s LargeWorld double-precision coordinates.

Maturity: Experimental / shipped in-engine (Cesium3DTiles Gem, v0.2.0). Desktop platforms: Windows, Linux, Mac. Geospatial scenes require double-precision rendering (LargeWorld / RenderOriginService); the Gem can enable LargeWorld on activate. Mobile (Android / iOS) is not in the support matrix.

Difference from O3DE: the historical external Cesium for O3DE community Gem is no longer actively maintained. Dawn Engine ships Cesium built into the engine, continuously maintained, and integrated with LargeWorld so globe-scale tilesets work with the rest of the Dawn large-world stack.

It does not replace PolyTerrain or World Streaming: Cesium owns globe-scale 3D Tiles LOD; Terrain and World Streaming remain available and can coexist via optional bridges.

What problem it solves

Digital twins, simulation training, and GIS visualization need real-world context at planetary scale. Cesium3DTiles provides:

  • End-to-end streaming from Cesium ion, URL, or local tileset.json into Atom;
  • Accurate LLH / ECEF / engine-local transforms on a WGS84 (or custom) ellipsoid;
  • Imagery and vector overlays draped on tileset geometry;
  • Globe-anchored entities, fly camera, origin shift for large-world precision;
  • Optional PhysX tile colliders, metadata picking, credits attribution, and editor tooling.

With the Gem disabled, Terrain / WorldStreaming / LargeWorld behavior is unchanged.

How it works

ion / URL / local tileset.json
cesium-native (tile selection · load · glTF)
Atom MeshFeatureProcessor (+ optional PhysX)
LargeWorld RenderOrigin (float relative to camera)
ScriptCanvas / EBus (anchors, fly-to, metadata)

Key ideas:

  1. Georeference maps LLH/ECEF to the level’s local frame (default: cartographic origin → engine (0,0,0), +X East, +Y North, +Z Up).
  2. Tilesets refine by screen-space error (SSE) from aggregated camera frustums.
  3. Raster overlays are separate LOD streams textured onto tile meshes (up to four material slots on the default material).
  4. Origin shift keeps the render origin near the camera so single-precision GPU transforms stay stable at global scale.

Layout under Gems/Cesium3DTiles/:

PathRole
Code/Runtime + editor components, cesium-native integration, bridges
Assets/Default materials, shaders, ellipsoid assets, pass templates
Registry/Default Settings Registry (Cesium3DTiles.setreg)
3rdParty/CMake FetchContent for cesium-native

Quick start (summary)

  1. Enable Cesium3DTiles (and PhysX if you need tile colliders).
  2. Set CESIUM_ION_TOKEN or open Tools → Cesium Settings.
  3. Build a minimal hierarchy: Georeference → Tileset (ion 1) + Ion Raster Overlay (ion 2) → SunSky + Credits → Camera with Fly Controller + Origin Shift.

For the full walkthrough and verification checklist, see Getting started.

Handbook chapters

ChapterContents
Getting startedEnable the Gem, configure ion, build a minimal globe scene, verify it works
Core conceptsLLH / ECEF, SSE LOD, origin shift, LargeWorld relationship
Georeference and tilesetsOrigins, ellipsoids, tileset sources, LOD / physics / materials
Overlays and clippingAll raster overlay types, material slots, polygon clip / exclude
Anchors and navigationGlobe Anchor, Origin Shift, Fly Controller / Fly-To, sub-levels, cameras
Environment, metadata, and bridgesSunSky, Credits, metadata / GeoJSON / Voxel / Splat, Terrain/WS/Nav bridges
Configuration and debuggingSettings Registry, HTTP knobs, CVars, troubleshooting
RecipesFollowable setups: terrain, photorealistic cities, offline, GPS Prefab, low-end, private ion
ReferenceComponent list, common EBuses, asset types

Glossary

TermMeaning
3D TilesOGC standard for streaming massive 3D geospatial content (tileset.json + tile tree)
Cesium ionCesium cloud platform for global 3D content and tiling; optional self-hosted server
LLHLongitude (°), latitude (°), height above ellipsoid (m)
ECEFEarth-centered, Earth-fixed meters; authoritative storage uses AZ::Vector3d
ENUEast-North-Up local tangent frame at a surface point
GeoreferenceRoot transform between global coordinates and engine-local space
TilesetOne 3D Tiles dataset instance (Cesium3DTilesetComponent)
Raster overlay2D imagery / vector layer draped onto tileset geometry
SSEMaximum screen-space error (pixels); primary LOD budget
Globe AnchorComponent that bidirectionally syncs an entity’s Transform with LLH / ECEF
Origin ShiftMoves the LargeWorld render origin with the camera to preserve float precision
cesium-nativeOfficial Cesium C++ library for tile selection, HTTP/ion access, and glTF parsing

You can rely on:

  • ion / URL / local tileset streaming with camera-driven LOD;
  • Georeference, Globe Anchor, Origin Shift, Fly Controller / Fly-To, geographic sub-levels;
  • Multiple raster overlay providers and credit display;
  • Optional PhysX colliders; Gaussian splat and voxel paths when content supports them;
  • Editor Settings, ion asset browser, Quick Add, and token troubleshooter.

Do not assume:

  • Mobile runtime support;
  • That Terrain or World Streaming cells are replaced (they coexist; bridges are opt-in);
  • That empty ion tokens or wrong asset permissions will load silently—check network and Troubleshoot Token;
  • That PIE without Unload tiles in play mode stays memory-safe with large tilesets;
  • That occlusion culling is production-ready (experimental, off by default).

Next steps


Copyright © 2026 DawnEngine. All rights reserved.

DawnEngine is a commercial 3D engine distributed under the DawnEngine end-user license agreement. Engine binaries and source are proprietary and are not covered by the licenses below.

Documentation only: the prose and templates on this site are a derivative work of Open 3D Engine (O3DE) documentation by the O3DE Contributors, used under CC BY 4.0 (documentation content), Apache 2.0 (site code), and the MIT license (inline code samples).

The open-source 3D engine that DawnEngine is built on top of is Open 3D Engine . DawnEngine is not affiliated with, endorsed by, or sponsored by The Linux Foundation or the O3DE project. “O3DE” and “Open 3D Engine” are trademarks of The Linux Foundation.