Creating a 'sea level' layer set at a height of 0 / WGS84 ellipsoid not visualised at expected height

Hi,

I have been trying to use the Bathymetry Terrain to create an underwater environment in Cesium Js. To make it more realistic I have been trying to create a sea surface layer, so that when I place models in the environment I can zoom in and see them sitting on the water layer or beneath it. The water layer doesn’t need to perfectly replicate real life, I just want it to match a height of 0 (approximating this as sea level) around the entire globe so that if I were to place a model anywhere at either a height of 0 or a negative height the model will sit on the water layer or below the water layer respectively.

I have created the following, see images 1 and 2 (also gives an idea of the visual I’m trying to achieve), using two large polygons that span the globe and are set at a height of 0, however, it doesn’t match the heights of the models placed at 0. I assumed that this was because of the way that the polygons were not rendering to correctly match the curvature of the Earth between the edges of the polygon (I tested a smaller polygon placed with edges at the locations of the models and this sat at the right height, but a model at height a of 0 midway between the polygon edges was higher than the polygon (also set at a height of 0)). I then also tested making the same visual by creating a large amount of smaller rectangles (combined into one primitive) that span the globe. This seemed to give a bit more accuracy of heights in some locations but not others (e.g. works alright for the eastern side of a country but not the west side).


I then looked into using the base WGS84 ellipsoid as the sea level. I thought that since the height in cesium js is defined as relative to the ellipsoid, if I were to create a visual of the wgs84 ellipsoid, this should in theory sit perfectly at a height of 0 around the entire globe. However, (as seen in images 3 and 4) this sat far lower than the models placed at a height of 0, which I do not understand. I created this visual representation just by creating a primitive with the geometry of the Cesium.Ellipsoid.WGS84.


Am I interpreting the height values wrong? Additionally, is there any other way I could achieve this sea surface layer placed at a height of 0?

Thanks!