[X3D-Public] O3D - Google's 3D JavaScript API

Joe D Williams joedwil at earthlink.net
Wed Apr 22 03:08:16 PDT 2009

----- Original Message ----- 
From: "Ben Francis" <mail at tola.me.uk>
To: "X3D Graphics public mailing list" <x3d-public at web3d.org>
Cc: "Robert Stone" <r.j.stone at bham.ac.uk>
Sent: Wednesday, April 22, 2009 12:44 AM
Subject: [X3D-Public] O3D - Google's 3D JavaScript API

> Dear all,
> I've been dying to talk about this since last summer when I joined 
> the
> trusted testers programme, but the public release has finally 
> arrived.
> Google has 
> released<http://o3d.blogspot.com/2009/04/toward-open-web-standard-for-3d.html>an
> Open Source JavaScript API for creating interactive 3D graphics in 
> the
> browser called O3D <http://code.google.com/apis/o3d/>.

Well, what do you think, Ben?

> It is currently a
> browser plugin for Internet Explorer, Firefox, Safari, and Chrome 
> that works
> on Windows, Mac OS X, and Linux - but Google ultimately would like 
> to see
> native support in browsers.

I'm sure they would like to have V8 in every browser. And, have you 
run this in IE?  Mozilla?

I see the list of video cards supported. To bad, I'm not in it. (only 
a 7600GT). And yes, for the time being, it pretty much must be NV. No 
Intel or AMD, for hnow, sorry

> Although Google have been working on this project for two years, 
> they're
> billing this as an early release as "part of a conversation with the 
> broader
> developer community about establishing an open web standard for 3D
> graphics".

Well, at least they have listened to the guy that will do the shaders 
for everyone. And appaerntly invented a new shaer language even (not 
to worry, just happens to be the best from a couple of examples.

> With reference to Khronos' Initiative to Create Open Royalty Free
> Standard for Accelerated 3D on the
> Web<http://www.khronos.org/news/press/releases/khronos-launches-initiative-for-free-standard-for-accelerated-3d-on-web/>

Well, what is open? the javascript libraries? the packs of geometery, 
shaders, and textures?
Not the browser or the javascript engine?

> , Matt Papakipos (Engineering Director at Google) has previously 
> said "with
> more and more content moving to the web and JavaScript getting 
> faster every
> day, the time is right to create an open, general purpose API for
> accelerated 3D graphics on the web. Google looks forward to offering 
> its
> expertise in graphics and web development to this discussion".

Maybe they know about web development (google home page?)
Maybe they know about javascript (google tools?)

> A CNET article on O3D
> <http://news.cnet.com/8301-17939_109-10224078-2.html>also quotes
> Papakipos.
> 'Google believes that it's possible that multiple 3D interfaces will 
> be
> supported in browsers of the future. "Ultimately, there's going to 
> be at
> least two," Papakipos said, pointing out that 2D graphics in the 
> browser has
> two technologies at present, SVG and Canvas'.

> Having personally discussed
> X3D with Matt Papakipos, I have high hopes that he may be referring 
> to X3D
> here, or perhaps a derivative of X3D. When I discussed X3D with 
> members of
> the O3D team (known internally by a different name) last summer, 
> they said
> they didn't know a great deal about X3D at the time,

> but they seemed to have
> some reservations about parts of the standard -

Anything in particular besides the fact that it was already done at an 
abstraction level miles above what they are offering? Oh, thats the 
'bad' part, the abstractions, that is. we want metal! and we want it 
to be close. We don't want somebody that has learned OGL to be put off 
by a simple api. Or maybe it was the partt about X3D sensors. That is 
a hard one, or maybe they don't need interpolators. I think at this 
time, they would think it is key to fit in with Collada. That is easy 
to understand. SInce they are giving the tools to produce a 
(javascript) 'runtime', Collada gives them confidence. And for sure, 
they probably would not want to write an interactive X3D engine from 
scratch to start with.

> apparently enough to warrant
> taking their own approach to the problem.

Maybe they weren't there in the beginning or did not ask any questions 
since. It has been a long time since somebody spent the time to show 
X3D examples equivalent to what they are showing. Of course the O3D 
tutorials and Canvas for the examples I saw take a lot of space for 
the user code javascript. All the X3D examples for O3D and Canvas 
combined don't even cover the basic stuff in the current X3D spec 
examples but almost take as many characters as the entire X3D abstract 

Definately their own approach, along with Mozilla canvas.
No need for a plug-in, well its not really a plugin, we call it a 
plugin now, but its really only a javascript engine and some 
javascript libraries and stuff that we now call a plugin. Next, we 
more fully integrate the graphics calls into the browser, like SVG, 
and the plugin disappears.

Two ways to do the same thing the same way, so they must need a 

> I would encourage Web3D Consortium members to engage in this 
> discussion. As
> Google has recently become a browser vendor and a member of the 
> Khronos
> group, I would also be interested to hear the consortium's views on 
> Google's
> recent release.

What do you think?

> Their new API is yet another example of an imperative
> approach

Not sure about the new api part. I guess some of it is new and some is 
OGL2ES, in javascript. no less

> in contrast with X3D's declarative approach, as mentioned in
> previous posts.

So, can you show some good stuff? Anything interactive?

> Please note that I am not currently an employee of Google, I was 
> only an
> intern there last summer, any opinions expressed are my own.

That is OK, in fact that is great, except I'm not sure you told us 
what you think of this advance.
How would you compare this with X3D in terms of authoring and 

> Regards
> Ben

I think if someone learns to do even the most simple animated 3D thing 
in O3D or Canvas, he will easily be able to understand and appreciate 
the X3D spec. OTOH, if his business is selling and maintaining custom 
O3D javascript libraries, why would he want his customers to know 
about X3D.

Me, after seeing the 'spinning' cube, I don't think they will make it 
even to the spinning tennis shoe. Not because I don't want them to be 
able to do it, but because it will be too much to handle.

Thanks for reporting, Ben.
Best Regards,

More information about the X3D-Public mailing list