Alternative to WebGL to render 3D in a plain HTML5 canvas?


I’ve tried to use WebGL since 2011 on a lot of hardware including laptops, desktop computers, smartphones and single board computers. It has become less painful to use, there is nothing to tinker most of the time but :

  • Some Windows 10 software updates seem to disable hardware acceleration in WebGL on Intel GPUs
  • WebGL remains very slow on numerous low end and middle end laptops with Intel GPUs, even on very recent ones
  • Numerous drivers are still blacklisted
  • Non trivial examples still run very slowly on numerous smartphones, including Samsung Galaxy S3 i9305 and S4
  • The performance is still far behind OpenGL and OpenGL ES
  • There are some situations which seem to drastically impact the performance when there isn’t only a single canvas using WebGL in the web page (iframe(s) in the same page, …)
  • There is no hope to make it work on terribly old hardware even though it’s still able to run Quake 2

I’ve found seen.js, phoria.js and the deprecated canvas renderer of Three.js. What other options are available for programmers looking for something OpenGL-like running in the web browser when WebGL is a no-go? I don’t expect to find something as fast as OpenGL but it would be fine to have something that doesn’t just show a black screen at least for low poly meshes.

P.S: TinyGL.js (a subset of OpenGL 1.1) and mesa-js (Mesa OpenGL ES Javascript port) seem to be viable solutions.