CesiumJS Feature Checklist
CesiumJS is built with care; code is publicly peer-reviewed, is unit tested with over 90% code coverage, and is statically analyzed, documented, and developed by an experienced team.
Dynamic Geospatial Visualization
- Use 3D Tiles to stream, style, and interact with heterogeneous 3D data, including photogrammetry models, 3D buildings, CAD and BIM exterior and interiors, and point clouds.
- Visualize high-resolution global terrain. Optionally exaggerate terrain. Apply procedural materials such as height- or slope-based color ramps.
- Layer imagery from multiple sources, including WMS, TMS, WMTS with time-dynamic imagery, Cesium ion, Bing Maps, Mapbox, GEE, OpenStreetMap, ArcGIS MapServer, standard image files, and custom tiling schemes. Each layer can be alpha-blended with the layers below it, and its brightness, contrast, gamma, hue, and saturation can be dynamically changed. Two layers can be split across the screen.
- Stream terrain, imagery, 3D Tiles, and glTF assets from Cesium ion.
- Use legacy Google Earth Enterprise terrain and imagery.
- Industry standard vector formats, such as KML, GeoJSON, and TopoJSON, including terrain clamping.
- Draw 3D models using glTF 2.0 with Physically-Based Rendering (PBR) materials, animations, skins, and morph targets. Clamp models to terrain and highlight their silhouette. Convert COLLADA and OBJ to glTF using the online converter. Use the binary glTF, Google Draco, and WEB3D_quantized_attributes extensions to reduce the file size.
- Create data-driven time-dynamic scenes using CZML and stream massive amounts of time-dynamic data with multi-part CZML.
- Draw and style a wide range of geometries:
- Clamp polylines, polygons, labels, billboards, and ground-based primitives to the ground/terrain.
- Layer and z-order ground-based primitives.
Create visual effects including:
- Shadows, including self-shadows and soft-shadows based on the sun position.
- Atmosphere, fog, sun, sun lighting, moon, stars, and water.
- Particle system effects such as smoke, fire, and sparks.
- Post-processing effects including Ambient Occlusion, Bloom, Depth of Field, Silhouettes, and Lens Flare. Selectively apply post-processing effects to individual primitives. Create custom post-processing effects and pipelines of stages.
- Fast Approximate Anti-aliasing (FXAA)
- Efficient translucent primitives using Order Independent Transparency (OIT).
- Apply clipping planes to 3D tilesets, terrain, and 3D models.
- Individual object picking and terrain picking.
- Camera navigation with mouse and touch handlers for rotate, zoom, pan with inertia, flights, free look, and terrain collision detection.
- Precision handling for large view distances (logarithmic depth buffer and multiple frusta to avoid z-fighting) and large world coordinates (emulated GPU double precision to avoid jitter ).
- A 3D globe, 2D map, and Columbus view (2.5D) with the same API. 3D views can use a perspective or orthographic projection.
- Display military symbology, such as MIL-STD-2525 and STANAG APP6, by integrating with milsymbol
- Cluster points, labels and billboards.
- Timeline and animation widgets for controlling simulation time.
- Base layer picker widget for selecting imagery and terrain.
- Selection and info box widgets for highlighting objects and displaying information.
- Geocoder widget for flying to addresses and landmarks using Cesium ion web services and custom services.
- Home view widget to fly to the default camera view.
- Scene mode picker widget to morph between 3D, 2D, and Columbus view.
- Fullscreen widget for toggling fullscreen mode.
- Navigation help widget for providing mouse and touch instructions.
- Performance watch dog for monitoring the frame rate.
- Inspector widget for advanced graphics debugging.
- WebVR widget for viewing Cesium with VR devices like Google Cardboard.
High-Precision Math and Time
- Reference frames such as World Geodetic System (WGS84), International Celestial Reference Frame (ICRF), and east-north-up.
- Equidistant Cylindrical and Mercator 2D map projections.
- Conversions such as longitude/latitude/height to Cartesian.
- Fast Cartesian, spherical, cartographic, matrix, and quaternion types.
- Julian dates, leap seconds, and UTC and TAI time standards.