WebGL 2.0

All,

You may have noticed that the WebGL 2.0 editor’s spec is now public:

http://www.khronos.org/registry/webgl/specs/latest/2.0/

Brandon Jones has a nice summary:

http://blog.tojicode.com/2013/09/whats-coming-in-webgl-20.html

What does this mean for Cesium?

We’re actually already using some WebGL 2.0 features like Vertex Array Objects via WebGL extensions. As WebGL 2.0 features become available and we have a need for them, we will add support. Since WebGL was anticipated to be based on OpenGL ES 3.0, we have been tracking the potential features for several months:

https://github.com/AnalyticalGraphicsInc/cesium/issues/797

In the foreseeable future, I do not expect Cesium to require WebGL 2.0. For example, currently if Vertex Array Objects are not supported, we fallback to the WebGL 1.0 method. Although core Cesium will not require WebGL 2.0 soon, I expect “advanced” Cesium features will. For example, we may choose to implement the particle system completely on the GPU using transform feedback.

We’ll evaluate this on a case-by-case basis considering how widely we expect the WebGL feature is supported, how important using it is, and how much work it is to develop and maintain a fallback path. In general, I expect most desktops to have outstanding support for WebGL 2.0 since NVIDIA GPUs from 2006 support it completely, and even GPUs from 2004 support most of it. However, many current-generation mobile GPUs will not have WebGL 2.0 support, but in time, we’ll see how important those GPUs are.

Patrick