[webkit-dev] Fwd: WebKit and Khronos Group

Adam Barth abarth at webkit.org
Sat Aug 8 23:43:09 PDT 2009


Resending from the proper address even though Maciej already answered
your question.

Adam


---------- Forwarded message ----------
From: Adam Barth <abarth at eecs.berkeley.edu>
Date: Sat, Aug 8, 2009 at 11:39 PM
Subject: Re: [webkit-dev] WebKit and Khronos Group
To: Harry Underwood <raynenamibia at gmail.com>
Cc: Jeremy Orlow <jorlow at chromium.org>, webkit-dev at lists.webkit.org


On Sat, Aug 8, 2009 at 11:14 PM, Harry Underwood<raynenamibia at gmail.com> wrote:
> So what you're also saying is that the combination of CSS 3D Transforms in
> Animations with SVG (resulting, I'm assuming, in SVG-transformed animation
> through CSS styling) does not translate or correlate to what either WebGL or
> O3D are meant to do, even though O3D and SVG are both retained mode APIs?

Yes.  For example, O3D lets you specify a light source and a bump map
for objects whereas this API would not.  Also O3D gives you access to
hardware accelerated pixel shaders.

> And you're also saying that it isn't the intention of WebKit's
> implementation (or Apple's Working Draft) of SVG Transforms (as
> per http://www.w3.org/TR/SVG-Transforms/ ) to allow for the construction and
> styling of full scenes and models like those in O3D?

I can't speak for Apple, but that would be quite surprising.  If
you're interested in this topic, you might be interested in reading
about Cg and the O3D shading language:

http://developer.nvidia.com/page/cg_main.html
http://code.google.com/apis/o3d/docs/shadinglanguage.html

> The draft has a
> combination of CSS transitions, CSS Animations and CSS 3D to plug into SVG,
> so it would seem like any composition using SVG Transforms could accomplish
> mostly with CSS what O3D accomplishes with JavaScript (unless I'm not
> reading it correctly).

There's a lot more to 3D rendering than transitions, animations, and
transforms.  In particular, 3D is largely about framing your drawing
in a way that your graphics hardware can be blazingly fast.  That's
way most modern 3D drawing APIs use something akin to glDrawElements:

http://code.google.com/apis/o3d/docs/reference/classo3d_1_1_draw_element.html

This API is usually the fastest possible way to send geometry
information from main memory to the GPU.

Adam


More information about the webkit-dev mailing list