Resending from the proper address even though Maciej already answered your question. Adam ---------- Forwarded message ---------- From: Adam Barth <abarth@eecs.berkeley.edu> Date: Sat, Aug 8, 2009 at 11:39 PM Subject: Re: [webkit-dev] WebKit and Khronos Group To: Harry Underwood <raynenamibia@gmail.com> Cc: Jeremy Orlow <jorlow@chromium.org>, webkit-dev@lists.webkit.org On Sat, Aug 8, 2009 at 11:14 PM, Harry Underwood<raynenamibia@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.htm... This API is usually the fastest possible way to send geometry information from main memory to the GPU. Adam