Cesium without webGL?

Hello, apologize in advance if this is a duplicate topic and the question was asked before, I just couldn't find any recent posts related to this question so any help / ideas will be greatly appreciated.

So basically I was wondering if there are ANY simple / easy solutions as to initializing Cesium without webGL a.k.a make Cesium work in an environment without webGL, maybe a JS library or something that would allow Cesium to use CPU-accelerated graphics vs. webGL if webGL was unavailable...I have already developed a few features in Cesium and would like to make at least the 2D portion functional in an environment without webGL, but my understanding is that 2D mode will not work without webGL as well.... any suggestions will be very helpful, thank you all in advance.

The short answer is no, Cesium relies on WebGL at it’s core and that’s what makes the types of things that it does even possible in JavaScript.

The longer answer is that it depends on exactly what you are trying to do and what you have in mind. While the actual visualization Cesium produces requires WebGL, lots of individual pieces of it can be used without it. For example, I know that the AGI’s app for NORAD Tracks Santa falls back to Bing Maps for a 2D Santa Map when WebGL isn’t available, NICTA’s National Map does the same thing, but falls back to Leaflet. Both apps still use pieces of Cesium when in these fallback modes. Another example is that the GeoJSON, KML, and CZML loaders of Cesium (and the Entity API in general) can be used without WebGL (though I personally haven’t tried it).

Furthermore, I believe all three major browsers have support for some form of software rendering at this point, but I haven’t looked into this area in a while.

I know of two options.

One, as Matt mentioned, is National Map. We use Leaflet as a fallback when WebGL is not available. GeoJSON, CZML, and KML are rendered using the normal Cesium pipeline plus a LeafletVisualizer that knows how to render Cesium entities in Leaflet. The visualizer is far from complete (not all entity graphics are supported, and some are much slower than they should be) but a good chunk of functionality works.

Another possibility is to use OpenLayers 3 plus OL3-Cesium.


Appreciate the prompt replies- I think I have a clearer picture of what options I have etc. Thank you both.