A detailed look at the implementation of Cesium's
terrain engine, as well as the server-side terrain processing needed for efficient rendering.
Terrain datasets for massive worlds - especially those that aim to represent the massive world we call Earth - can easily measure in the terabytes. Add in detailed textures for the surface, such as color maps derived from satellite imagery or aerial photography, and it is not at all uncommon to see datasets measured in the hundreds of terabytes. Such datasets are much too large to fit in memory, and even too large to fit on a local system. Working with these datasets requires effective algorithms for selecting the subset of the world we actually want to render, at an appropriate level-of-detail. This is particularly challenging when we need to use off-the-shelf data whenever possible. We discuss how we solved these problems in Cesium, an open source virtual globe that runs inside a web browser without the need for a plugin.
Published by A K Peters / CRC Press, June 2011
- Rendering globes, planet-sized terrain, and vector data
- Multithread resource management
- Out-of-core algorithms
- Shader-based renderer design
A two and half hour course exploring the internals of virtual globe applications, based on our book above. The slides are available