The technology options for displaying 3D content in web pages have evolved over the years with a number of different formats attaining at least temporary popularity but with variable levels of support and maintenance. Here I mean projecting 3D content (virtual worlds) onto a 2D display screen, not the kind of stereoscopic 3D display that needs special glasses.

Sketchfab (and similar services) use the WebGL standard to integrate these display functions directly in the browser, simplifying the user experience and removing a number of obstacles for content creators.

The increasing processing power of personal computers and the more widespread availability of high-speed internet connections makes it feasible to present highly detailed graphics in a browser environment.

In the beginning there was VRML (Virtual Reality Markup Language) and some browser plugins that let you display a pretty good representation of 3D environments. VRML has been superseded by X3D [1] which has a number of dedicated viewers and editors but limited availability of browser plugins.

More recently WebGL [2][3], a browser based version of the OpenGL library, has gained support from a number of large hardware and software companies (but not Microsoft, who have a competing platform). This means that your browser can display 3D content directly and even interact with the content (rotating, panning, zooming etc).

Where this might be useful

If your products or services are based around real-world objects (physical objects, buildings, landscapes etc) or you just like to build and share 3D art, it might be helpful for you to display samples on your web site.

To display WebGL content, your 3D model has to be converted into a specific JavaScript based format which you could do by hand, but is (in my view) best left to others. Sketchfab [4] and similar services provide a web based platform for converting 3D files in various formats and delivering the WebGL content.

Challenges

WebGL is a relatively new technology - more specifically it's widespread implementation in browsers is new. This means that the level of support varies between browsers.

In some quick testing, (February 2013) Firefox and Chrome has good support (display and full control), Safari and Opera had partial support (display and rotate) and IE had no support (unless you install the Chrome Frame [5] plugin).

Like any new technology there are potential security concerns, so the usual caveats apply (so don't blame me if it all goes horribly wrong...)

Samples

Zygote body (http://zygotebody.com) formerly Google body is a notable early application of WebGL technology.

And here's a sample Sketchfab model I threw together (I already had the model in Blender so publishing it on Sketchfab was simple).

Left mouse button rotates, Right mouse buttons pans, Middle mouse button zooms.



References

[1] X3D Wikipediaentry

[2] WebGL Wikipedia entry

[3] WebGL homepage

[4] Sketchfab homepage

[5] Google Chrome Frame homepage