Raster overlays and clipping

Add overlay components on the same entity as the tileset (or route them through material slots / layer keys explicitly). Overlays refine with their own SSE budget, independently of geometry tiles.

Shared overlay options

Every overlay type embeds CesiumRasterOverlayOptions:

FieldDefaultPurpose
Maximum screen space error2.0Overlay LOD (usually tighter than geometry)
Maximum texture size2048Max texel edge; larger tiles downsample
Maximum simultaneous tile loads20Concurrent raster loads
Sub-tile cache bytes16 MBCache of unattached sub-tiles
Show credits on screenoffForce this overlay’s attribution on screen
Material slot0Slot 03 on CesiumTileDefault
Material layer keyemptyNamed overlay group; falls back to numeric slot
FilterTrilinearSampler filter (Clamp addressing)
Use mipmapsonOff saves ~33% memory but can shimmer

On the StandardPBR fallback only slots 0 and 1 render. Polygon clip overlays hide the material slot field (they always use the dedicated clip channel).

Overlay types

ComponentTypical sourceKey fields
Cesium Ion Raster Overlayion imageryAsset ID (default 0 = unset; 2 Bing Aerial, 3 with labels), token, server asset, asset options JSON
Bing Maps Raster OverlayBing API keyKey, style (Aerial, RoadOnDemand, …), culture, base URL
TMS Raster OverlayTile Map Service / gdal2tilesURL (supports file:///), file extension, optional zoom range, headers
WMS Raster OverlayOGC WMSBase URL, layers, version (1.3.0), format, tile size, zoom, headers
WMTS Raster OverlayOGC WMTSBase URL / REST template, layer, style, format, TileMatrixSet ID/labels/prefix, projection, tiling scheme, zoom
URL Template Raster OverlayXYZ / templated CDN{x}/{y}/{z} (also reverse / projected placeholders), projection, tiling scheme, zoom, headers
Google Map Tiles Raster OverlayGoogle APIAPI key, map type, language / region, scale, layers, styles JSON
Azure Maps Raster OverlayAzure subscriptionSubscription key, tileset preset
GeoJSON Raster OverlayURL / file / ion / documentSource enum, style (line / fill / point), mip levels, headers
Vector Tiles Raster OverlayURL / ionEndpoint + vector style
Polygon Raster OverlayCartographic polygonsPolygon entity IDs, invert selection, exclude selected tiles
Debug Colorize TilesnoneRandom solid colors for LOD debug

Ion overlay note

Fresh Ion Raster Overlay components default to asset ID 0 and stream nothing until you pick an ID. Common imagery IDs: 2 (Bing Aerial via ion), 3 (with labels)—subscription-dependent.

GeoJSON / vector styling (essentials)

Default style: 1 px white lines, filled opaque-white polygons without outline, 1 px filled points. Per-feature style overrides are available through the GeoJSON object model bus when using CesiumGeoJsonDocumentComponent. Mip levels (08) reduces thin-line aliasing at extra memory cost.

Polygon clipping workflow

  1. Author one or more entities with CesiumCartographicPolygonComponent (vertices in LLH). Editor Component Mode supports viewport vertex edit (select / drag / insert / delete).
  2. On the tileset entity, add Polygon Raster Overlay.
  3. List the polygon entity IDs.
  4. Tune:
FieldDefaultMeaning
Invert selectionoffOff = clip inside polygons; on = clip outside
Exclude selected tilesonSkip loading tiles entirely inside (or outside when inverted) via TileExcluder

Custom C++ excluders can subclass CesiumTileExcluderComponentBase and implement ShouldExcludeTileEx on CesiumTileExcluderBus (tile handle + geometric error).

Material routing tips

  • Prefer CesiumTileDefault-based materials if you need overlays, clipping, or water mask.
  • Use Material layer key when a custom material declares named overlay groups (cesiumOverlay<Key> / Overlay<N> aliases).
  • Call RefreshOverlays on the tileset after programmatic overlay changes.

Overlay load failures surface on tileset notification buses (OnRasterOverlayLoadFailure). GeoJSON overlays also emit OnGeoJsonRasterOverlayDocumentLoaded when the document is ready.

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.