222 13.3DinaWebBrowser
even if not the fastest in all cases, Flash provides consistent and good perfor-
mance, regardless of which browser it is running inside. A given plug-in can im-
pose the browser to update the Flash plug-in to the AS3 version if needed, but
there is no such thing for native JavaScript because the entire browser would
have to be upgraded.
So equipped with a fast scripting language and a strong desire to add hard-
ware-accelerated 3D for web application developers, Google, Apple, Mozilla,
and Opera announced during Siggraph 2009 that they would create the WebGL
working group under the intellectual property (IP) protection umbrella of the
Khronos Group [17] and joined the many working groups already working on
graphics standards, such as OpenGL, OpenCL, and COLLADA. When Vladimir
Vukićević (Mozilla) was thinking about where to create the new standard work-
ing group he basically had two choices: the W3C, home of all web standards, and
Khronos, home of the graphics standards. Since his group was composed of web
browser specialists, he thought they should join the standard body, where they
could meet with graphic specialists, because expertise in both areas is required to
create this new standard. This also enables complementary standards to be used
conjointly and solve a bigger piece of the puzzle, such as how COLLADA and
WebGL can be used together to bring content to the web [18].
Technically speaking, WebGL is an extension to the HTML
canvas element
(as defined by the W3C’s WHATWG HTML5 specification), being specified and
standardized by the Khronos Group. The HTML
canvas element represents an
element on the page into which images can be rendered using a programmatic
interface. The only interface currently standardized by the W3C is the
Can-
vasRenderingContext2D
. The Khronos WebGL specification describes another
interface,
WebGLRenderingContext, which faithfully exposes OpenGL ES 2.0
functionalities. WebGL brings OpenGL ES 2.0 to the web by providing a 3D
drawing context to the familiar HTML5
canvas element through JavaScript ob-
jects that offer the same level of functionality.
This effort proved very popular, and a public mailing list was established to
keep up general communication with the working group, working under strict IP
protection, which was quite a new way of functioning for the Khronos Group.
Even though the specification has not yet been released, several implementations
are already available for the more adventurous web programmers, and at Sig-
graph 2010, a dozen applications and frameworks were already available for
demonstration. This is quite an impressive community involvement effort, indi-
cating the large interest in having 3D acceleration without the need for a plug-in.
After the demonstration, “finally” was whispered in the audience, since some