Was thinking about the possibility of using Cesium for 3D rendering to complement the 2D rendering via OpenLayers3. Well, I ran across OL3-Cesium - Create your map using OpenLayers 3, and visualize it on a globe with Cesium.
An OpenLayers map can be switched to a 3d globe view by running the code below after the map has been created:
var ol3d = new olcs.OLCesium({map: map}); // map is the ol.Map instance
ol3d.setEnabled(true);
The above will use the WGS84 ellipsoid all around the globe. To use terrain, simply add a terrain provider using the Cesium API (can be your own, but in the snippet below it's one that ships with Cesium):
var ol3d = new olcs.OLCesium({map: map}); // map is the ol.Map instance
var scene = ol3d.getCesiumScene();
scene.terrainProvider = new Cesium.CesiumTerrainProvider({
url: 'https://assets.agi.com/stk-terrain/world'
});
ol3d.setEnabled(true);