In December 2009, the Khronos Group published a working draft called WebGL. It’s based on the features of OpenGL ES 2.0 – if you have a smartphone like an Android phone, or an iPhone, you are already running one – the embedded systems OpenGL standard. For the web, The WebGL is intended to provide a common design for developers – and users – to enjoy immersive virtual experiences, called Virtual Reality, or simply 3D. This article is here to give you a quick look at WebGL.
What is WebGL?
With WebGL and 3D CSS, developers can create modern games, impressive photo galleries, 3D data visualizations, virtual environments, and whatever else they can dream up. (Source: Chromium Blog)
Google said it best. WebGL is a open standard that anyone can adapt into modern browsers, or even embedded browsers. It also means you don’t have to install games anymore. Click on a link and open up the browser – the game loads itself! It shares the similar fashion like Adobe Flash, except you don’t have to worry about downloading any extensions or plugins.
The goal is simply to enable 3D applications on the web, without any friction: the less clicks, the better. Imagine if you are redirected to a portfolio, only to find out that you have to install yet another plugin before you can see it? WebGL’s open standard aims to reduce that issue.
Otherwise, you can think of it as a new enjoyable technological advancement. Heck, someone even made Quake 2 running on the browser. But wait! You need to have a WebGL-enabled browser first.
Didn’t you tell me that I didn’t need to download yet another plugin?
Yes, yes I did. But patience, young jedi. The WebGL standard is not mature. It’s not even one-year-old! So far, only the latest builds of modern browsers support it, and you will have to enable it manually first. But that’s only for now.
In the future, every major browser will support it.
Okay, so how do I enable WebGL on my browser?
There is a comprehensive guide at Learning WebGL, and I will just briefly touch on it below.
Firefox: type in
in the address bar. Then, filter for
and set it to True. That’s it!
Simply add a command-line argument in your shortcut, like:
And that’s all you have to do. For windows, that will be in the Shortcut Properties. For Linux, that will be your target options.
Mac: Just download the nightly build of WebKit!
I’ve done it. What do I get?
Fantastic. You get a map from XKCD, for a good overview of the internet (just teasing). Or, choose one (or more!) of the following as your reward:
- The Chromium Projects have several stunning implementations of some virtual worlds.
- Have look at World of WebGL, where the title image was captured from.
- Why not play a few games on Play WebGL Game? That’s the same place that has the Quake 2 playable demo.
- A game of mini-golf may satisfy your boredom. It has physics!
And that’s just some of the demos I came across and found interesting. There are many more you may discover yet.
Future of 3D on the Web
We’ve come this far to share with you what WebGL can potentially do, with lively fishes and bouncing golf balls. But what is this all really about? Why should you care?
Having 3D environments on the web is very exciting indeed. Imagine a ship sailing a full-speed in a thunder storm, drowned by heavy rain. Or a wild grassland with a never-ending horizon, and a rising sun. Or maybe your just wanted some cool gadgets for your Firefox for debugging your program. It can be anything. Whatever you can dream up.
We may see a full-fledged commercial game, even.
As time goes on, this technology will become common for the major browsers: IE (ugh), Firefox, Chrome, Sarafi, Opera, you name it; and anyone can develop on it, set up a website, and share the link to everyone else. The experience can be presenting, interactive, or even immersive. The possibilities is endless, and sky is the limit.
In the mean time, while it is still maturing, why not watch a WebGL Demo running on a Nokia N900. Mobile phones is also part of the web, after all.