GPU-enriched 3D for Web browsers targeted for H1 2010
A coalition that includes three of the four leading alternative Web browser manufacturers -- Mozilla, Google, and Opera Software -- along with graphics processor leaders AMD (ATI) and Nvidia, announced this morning their intention to produce a royalty-free mechanism for producing hardware-assisted 3D graphics using JavaScript-enabled Web pages, for initial distribution during the first half of next year.
Based on OpenGL ES, the WebGL language could conceivably open up the field of Web applications to classes of software traditionally reserved for local, on-system installation, including computer-aided design and engineering, rich visualization, and of course, gaming. While the <CANVAS> element in HTML 5 is already geared for 3D geometry, what WebGL would enable is the ability for JavaScript developers to utilize the GPU to produce fast, fluid, rendered scenes, effectively extending the already proven OpenGL ES system used by Sony's PlayStation 3, to the realm of Web apps.
Effectively, WebGL would be integrated into browsers, not attached as add-ons. In many senses, WebGL already is integrated, through browsers such as the latest Firefox 3.5 that already support HTML 5. What work remains includes the production of a final, formal specification for WebGL.
In a statement this morning, Mozilla standards evangelist Arun Raganathan said, "The Web has already seen the wide proliferation of compelling 2D graphical applications, and we think 3D is the next step for Firefox. We look forward to a new class of 3D-enriched Web applications within Canvas, and for creative synergy between OpenGL developers and Web developers."
At present, one of the few public demonstrations of the WebGL standard in progress appears in this December 2005 project on the Japanese SourceForge site, buried in a file named sample.html. And it's not all that impressive: a live rendering of three sides of a randomly rotating cube. The source code for this little project, shown here, reveals that familiar OpenGL functions that define viewports, object identities, and that scale and rotate an object within a viewport, show up quite clearly as JavaScript functions. So there may not be all that much for an experienced graphics developer to learn besides the formatting of the code within the page; however, for everyday Web apps developers, it could be a whole new world.
For three-and-a-half years, the rotating cube corner has pretty much been the "test pattern" for WebGL. But today's endorsement by the Khronos Group, responsible for OpenGL and OpenGL ES, could catapult this project from virtual stagnation into overdrive.