On Aug 8, 2009, at 11:14 PM, Harry Underwood 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?

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? 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).

SVG with transforms, even 3D transforms, is not capable of expressing a full 3D scene graph.

O3D, as a retained-mode API, could be an interesting complement to WebGL. Opera has also demonstrated an experimental retained-mode 3D API in the past, and there is of course experience with VRML and X3D.

3D transforms are a very different idea from either WebGL or O3D. The focus for 3D transforms is on putting arbitrary Web content in 3D space, maintaining full interaction behavior. (It may be possible to make a fully 3D technology that can mix arbitrary Web content with arbitrary 3D models and shaders and such, but probably a bigger challenge than anything that anyone has done so far.)

To summarize (as best I understand it):

SVG: retained mode, completely 2D
CSS 3D Transforms: retained mode, manipulates flat pieces of content in 3D space (some call this "2.5D"), mixes with arbitrary Web content WebGL: immediate mode, fully general 3D, lives in a box (no free mixing with web content) O3D: retained mode, fully general 3D, lives in a box (no free mixing with web content)

Regards,
Maciej



Harry

On Sat, Aug 8, 2009 at 10:02 PM, Jeremy Orlow <jor...@chromium.org> wrote: On Sat, Aug 8, 2009 at 2:02 PM, Maciej Stachowiak <m...@apple.com> wrote:

On Aug 8, 2009, at 11:39 AM, Harry Underwood wrote:

Thanks for the link. Didn't even know that WebGL is being considered by WebKit.

What Oliver showed you is patches to pretty much fully implement it, done by an Apple employee. So we're doing more than considering it. I expect there will be more to announce when the patches land.


But another question, if you don't mind. Is O3D considered as a technical competitor or conflict with Apple's CSS and SVG extensions, or should it be considered as such?

We do have some extensions to do 3D transforms with CSS, creating "2.5D" visuals with flat CSS boxes manipulated in 3D, and fully integrated with the page content. For example, you can use it to apply 3D effects to a navigation menu or a video. O3D is much more about creating full 3D models and scenes, without tight integration with the Web content. In that respect, O3D is more of a competitor for WebGL than 3D transforms/transitions.

I'm not personally involved in the WebGL or O3D efforts, but I can speak to some of this.

I agree that O3D and WebGL are more similar to each other than the CSS 3D transforms. Both are fairly low level, though they take fairly different approaches to rendering. O3D is a retained mode API (somewhat like SVG) whereas WebGL is an immediate mode API (much like Canvas). In other words, for O3D, you use JavaScript to build up a scene and transform it between frames. In WebGL you use JavaScript to explicitly render each frame. The latter gives you more control but is more limited by the speed of JavaScript and the WebGL bindings. I guess the point I'm trying to make here is that all three technologies are actually complementary to each other.

Incidentally, it's my understanding that Google showed off a prototype version of Chrome running both O3D and WebGL at some conference last week. It's pretty cool how fast things are moving with respect to 3D on the web. :-)

Jeremy

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to