the rise of WebGL

by Tom Kluyskens. Average Reading Time: about 2 minutes.

OK, fire up a modern browser, and let’s go on a tour of the web, 3D style…

A few years back, this Evan Wallace’s pool demo blew my mind (and still does a bit today). So did Tom Beddard’s fractal.io. It’s now offline (Tom was probably busy on this), so here’s a video:

Those were early experiments in a world inhospitable to 3D content. I remember having to switch WebGL on manually in Chrome back then. They amounted to demoscene hackery, but they lifted the veil.

Today, WebGL is fairly widely supported out-of-the-box: FireFox, Chrome, Safari. Even Internet Explorer 11 will support it. A notable exception is iOS (version 7 at the time of writing).

Heroic efforts from individuals, like Mr. doob (Ricardo Cabello) and AlteredQualia on the open source three.js framework, showed the web community 3D on the web was valid. It gave many a base, or at least the confidence to build browser-based 3D experiences.

Recent examples are Arcade Fire’s Reflektor interactive video, and Disney’s Oz experience. Steve Wittens is using WebGL on his acko.net to explain complex concepts in epic visual detail.

But now, entrepreneurs are betting their businesses on the technology. 3D file upload, presentation & cloud collaboration services using WebGL now abound. SketchFab seems to be the most successful. Verold is a really interesting alternative, focused on delivering an API for creating experiences, beyond just display of static models. Sunglass.io caters to the engineering types.

Here is our very own Puffer on SketchFab and Verold:

Where it gets interesting to us, is where all this honestly crosses over into the physical realm. The emergence of 3D printing, and cloud manufacturing sites like ShapeWays, Ponoko and Materialise have opened the door to new types of ventures.

Pioneers were TinkerCad (now AutoDesk) and 3DTin (now part of Lagoa).

Nervous System – whose work we are in permanent awe of, are building 3D interactive jewellery configurators that run in the browser, to drive part of their sales. Mixee Labs is building their whole business around that idea. They are experimenting with a framework, built on top of three.js, to help designers build their own product configurators. On a more basic level, so does Thingiverse with the MakerBot Customizer framework.

Of course, games are a big driver for 3D on the web. Many efforts seem underway to build WebGL game engines, and even game editors, and we’re seeing some of them mature. Notably Goo Engine and Babylon.js.

However, these have to compete with enormously successful plugin-based 3D engines, like Unity3D. For game developers – and for anyone trying to get 3D content in the browser – the choice, even today, is not easy. Unity3D for example, effortlessly exports to all (well, almost) platforms and browsers, and plugins typically pack more power, being based on faster programming languages, like C++ or C#, and exposing a broader graphics featureset than WebGL currently does.

It’s a conundrum we’re faced with ourselves. Or were anyway. The Spoke Creator codebase is C#. Our 3D viewer is Unity3D. We had to hit the ground running, two years ago – and WebGL was not an option.

We know we need to make the switch. We know how. And we will. Soon.