With GE API you could go underwater and explore the ocean floor terrain, albeit with texture-less surfaces making it difficult to discern the geometry. However the API would tell you how far below sea level the camera was. It would be nice if Cesium covered the entire Earth crust with the terrain server, not just that which is above water, even very low resolution underwater terrain would be nice. Perhaps with lighted fake textures just to make it easier to discern geometry. For now it seems that Cesium only provides shaded relief map imagery for the Ocean floor.
With the STK Terrain Server this is possible. The STK World Terrain tileset is generated by the Terrain Server by layering elevation data from any number of data sources (e.g., SRTM, NED, etc) into a unified tileset. Your bathymetic data would just be another datasource layered into the tileset. Currently the only speedbump is that you may need to reproject your vertical datum into MSL or Ellipsoid for accurate representation in your tileset, but we are working on improving that natively in the Terrain Server.
If you go this route, you’ll end up the bathymetric data baked into the terrain. Just keep in mind Cesium does not currently visualize an ocean surface separate from terrain.
"Perhaps the MSL gravity geoid surface could be represented identically to how terrain is represented (LOD tiles each with their own triangle mesh.) Use the same pick function even. Terrain tile L4X5Y4 would coincide with MSL tile L4X5Y4. "
Maybe there could be 2 ‘terrains’ drawn at the same time: MSL terrain and solid ground terrain. Ocean texture would be drawn on the MSL terrain when not ‘obstructed’ by islands and continents. I doubt that the MSL terrain would require much data. MSL terrain would be on islands/continents as well, but not drawn, while solid ground terrain would be drawn everywhere, be it over or under water.
Care should be taken that MSL terrain isn’t drawn in all cases where solid ground terrain is below MSL terrain, this might be the cause of this GE bug
To follow up with the “2 terrains” i can also see some usecases in our applications where this could be handy.
We are doing penetration surfaces for airports and will within coming months start visualizing these in web.
We are generating DTM (for terrain) but also have DSM from the surface of objects and then we are computing limitation surfaces (this is a surface which no penetrations may intersect). So if we could put the maps on the terrains (possible now) and also show the DSM surface and limitation surfaces (not sure which textures would make sense to draw on them yet). This would be a really cool usecase of cesium.
I actually saw in one of the agi videos how you guys had put a yellow mesh around a volcano (would love to see that demo by code).
I think the multiple terrain method would be the easiest to implement as it could use the same established system currently in use, just enable multiple instances of terrain at the same time. Perhaps not just for solid terrain and the MSL Geoid, but for custom terrain tiles as well. There are overlay images, why not overlay terrain.