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