Tuesday, April 21, 2009

Toward an open web standard for 3D graphics (part 2): Introducing O3D

Most content on the web today is in 2D, but a lot of information is more fun and useful in 3D. Projects like Google Earth and SketchUp demonstrate our passion and commitment to enabling users to create and interact with 3D content. We'd like to see the web offering the same type of 3D experiences that can be found on the desktop. That's why, a few weeks ago, we announced our plans to contribute our technology and web development expertise to the discussions about 3D for the web within Khronos and the broader developer community.

Today, we're making our first contribution to this effort by sharing the plugin implementation of O3D: a new, shader-based, low-level graphics API for creating interactive 3D applications in a web browser. When we started working on O3D, we focused on creating a modern 3D API that's optimized for the web. We wanted to build an API that runs on multiple operating systems and browsers, performs well in JavaScript, and offers the capabilities developers need to create a diverse set of rich applications. O3D is still in an early stage, but we're making it available now to help inform the public discussion about 3D graphics in the browser. We've also created a forum to enable developers to submit suggestions on features and functionality they desire from a 3D API for the web.

If you are interested in learning more about O3D, you can visit our site, subscribe to our blog and join our discussion groups. We also invite you to join us at Google I/O (May 27th -28th), where you can see presentations about O3D and meet with the team.

A video of the O3D Beach Demo:


  1. Thank you Google! I've been waiting for this exact product for years. Bundle this into Gears ASAP and let the games begin.

  2. Wow, 3D contents on web :)

    Web 3.0 are you here?

  3. Very impressive. Khronos has a run for their money.

  4. Now this is something I can totally get behind.

    The possibilities are definitely endless. I slowly see the start of completely ubiquitous browsers, where operating systems are just shells for the browser to live in. Go, Google!

  5. Do you mean I downloaded 3D Chrome for nothing?

    Isn't stereoscopy the future of the web???


  6. I don't mean to be negative, but anyone here remembers VRML. It didn't work. 3D in the web has already been tried and failed.

    Let's see if it´s different this time.

  7. VRML came about at a time when the speed of the typical computer and the speed of the typical Internet connection were far below what they are today. That's why VRML didn't catch on. Things have changed dramatically. Everything is now in place for web-based 3D to work and to be widely accepted. Google is on the right track.

  8. I'm really glad to see you're working with Khronos on this -- further fragmentation within the 3D frameworks helps no one, but working to develop a solid 3D standard for the web is fantastic. Looking forward to seeing how things develop!

  9. Yes, we are interested on stereoscopy 3d on web. Is this tne next step? Is it considered?

    Porfirio Gaona

  10. Great googly moogly, you opted to invent a new 3D api rather than leveraging an existing one. Not just a 3d api, a complete scene graph to boot. What needs did you feel necessitated abandoning existing 3d apis and making an entirely new one from scratch?

  11. You know what, I'm still using that April 1st browser.
    It would be awesome if there was an option to render those 3D graphics in anaglyphic stereo. I've seen some plugins for DirectX, but things like that appear to be few and far between. Make sure that option is included, however discreetly.

  12. Here we are again. I was just thinking about this a few days ago and now its VRML back for round two!


  13. A great start with O3D, I do hope that Google adopt open standards so everyone can benefit and interoperate.

    ExitReality web 3D app already achieves this on Internet Explorer, Firefox, Google Chrome, Apple Safari and Opera browsers.

    It also supports all graphics cards in laptops, you don't need a gamers machine to experience 3D multiuser worlds anymore.

    Full support for Khronos groups Collada format and ISO X3D open standards and MPEG4 avatar standards also.


  14. Um this looks a heck of a lot like the Unity 3D island demo...

    Unity's been doing this for years now, with full Phys-x support.

  15. What are differences and advantages between this and X3D (which is ISO standart btw) developed by web3D Consortium??

    Why to develop something from scratch, when there are quite capable browser plugins and authoring software products for X3D technology?

  16. Why to hell develop O3D when there is VRML, X3D, Canvas3D, etc.??

  17. why doenst google just work with Linden lab and second life, or opensim,...help them open that up instead of reinventing the wheel like microsoft and sony always do?

  18. This comment has been removed by the author.

  19. I am very excited to finally see someone do this. If google can get the bugs out of it they have something very powerful here.

    The following technologies have these problems

    VRML - Can't be accessed by Javascript(badly limits what you can do.) and lack of quality VRML plugins. VRML standard has become fragmented.

    Canvas3d - The most promising but only works on Firefox no IE. Many features require Firefox 3.0. API is very low level so you have to roll your own functions to do even simple things like load files. No scene tree. Even more buggy then O3D.

    Flash - no 3D hardware support properiety format. Weak javascript interface. No source code

    Unity3D- Doesn't allow control through javascript and very expensive tools required to use. No source code.

  20. As the previous posts point out, there have been numerous unsuccessful attempts to create 3D browser plugins with support for 3D scene graphs, data models and API's. Some of the elements that these previous technologies were missing was the fact that they lacked an easy to use, free and open 3D content creation tool. Google sketch-up solves that problem to some extent. It needs to go a long way though on the modeling and rendering front, for it to be widely adopted. The other and more crucial element, I believe, is that all these earlier technologies were missing was their inability to create and sustain Life. By Life I mean they were unable to sustain a living community around these technologies. If Google makes this mistake with O3D, it will fade away into oblivion just like its predecessors. If O3D has to succeed it has to create and sustain a community a la Facebook, Or Youtube. Historically Google has not been very successful at this. To not repeat this mistake again with O3D, google must create a web 2.0 (3.0?) site (I haven't thought about google leveraging youtube OR picasa for this purpose though) and nurture a community around it.

    This site should allow people to create and upload 3D content. Allow them to share 3D content online. Allow them to search for 3D content. Allow them to discuss about 3D content. Allow them to share 3D apps built around O3D. Allow them to buy and sell 3D content and Apps. Allow people to personalize this site and create a particular context, may be for their particular store selling furniture (as one of the O3D examples illustrates), OR may be for their store selling machine tools OR may be for a store selling 3D-simulation/data visualization apps!

    If Google can do this with O3D, O3D has a bright future. Else its doomed to meet the same fate as its predecessors.

  21. Unity3D Actually does allow control through Javascript. The Indie Unity3D costs $199.

  22. It's a good idea, but what about those that have lower-end machines? A complete shift is out of the question, in my opinion. But the idea is excellent for those who have the ready systems.

  23. 3D content has been accessible from inside the web browser for years. Popular indie games like Off-Road Velociraptor Safari and RC Laser Warrior have used the Unity 3D technology to show amazing 3D graphics in the browser. But also huge franchises flock to Unity: Cartoon Networks even made their fullblown MMO FusionFall as a 3D in-browser game with Unity.

    Google's Beach Demo even looks suspiciously similar to Unity's vast Tropical Paradise Demo:

    But it will be very interesting to see where things will be going with an open source project like this! Once it has matured a bit more, it will certainly have big potential.

  24. I look forward to seeing how Google incorporates the existing 3D web standard X3D or all people here are right about them re-inventing the wheel. I hoped they would have learned from others(like IBM/Linden Labs).

    For those that make reference to the web3D open standard VRML: 1)time to update your knowledge with the current open standard X3D, 2) you would be amazed with what the innovative technologies outside of the USA still use VRML for. Enlighten yourself at web3d.org. Support your (not Googles) 3D web by supporting your current open standards.

    For those that comment on here that support everyone's current 3D web standard X3D, hi5 for knowing your $h!# about the 3D web and emerging mixed realities Metaverse! It is up to those informed from the community to make sure that this effort of Google works with the standard to help the 3D web, not fragment more.


  25. "VRML - Can't be accessed by Javascript(badly limits what you can do.) and lack of quality VRML plugins. VRML standard has become fragmented."

    X3D has an SAI interface that works with Javascript.

    1. Vivaty is a X3D/VRML plugin running in Facebook and even on Google pages.

    2. Bit Management Contact is a very high quality X3D/VRML plugin.

    There are existing standards from bona fide standards organizations. There is a healthy 3D ecosystem running on the web.

    Then there is Google and Khronos and others saying there is no 3D on the web. At what point does the BS behind this kind of predatory announcement become insufferable or at least, do we look back and call these what they are: FUD.

  26. If Microsoft tried this, everyone would be screaming about how they were not following the standards and how they were trying to fracture the market.

    Then there would be long discussions about VRML.

    Unless you want to be exposed as hypocrits, this will have to go throught the long, ugly and ultimately pointless process of a standards committee.

  27. Unity 3D Pro $1499
    asset server $499
    No Linux support
    No source code unless you pay a fortune.

  28. If Microsoft released a web 3d standard it would require DirectX and would only work on Windows. IE and maybe Firefox.

  29. Regardless of what API is used, the practical value of a 2D interface emulating a 3D environment are limited, namely to games. Other APIs might have had their limitations, but they worked well enough and survied long enough to demonstrate that people simply aren't any more productive working this way; in fact, it's typically more time-consuming and faculty-intensive to navigate a 3D space than it is 2D.

    Think of how easily you slide your mouse cursor to a shortcut, navigate the Start Menu, traverse a treeview. Now imagine having to "walk across a room" to do the same thing; imagine having to organize your visual cues in 3D, where only 1/3 to 1/2 of them are visible at any time.

    It's got a certain cool factor, but that always seemed to pale rather quickly once I realized I was much faster, more efficient, and had to concentrate much less on interface issues when I worked in 2D. Because, while humans do think in 3D, we do *not* think in 2D emulating 3D. There's a big difference, and I don't think a shiny new API is going to close that gap.

  30. I'd say it would be smart to keep more in touch with the Flash community about this. They are the ones that have the most experience on 3D interfaces and web so far.

  31. I do not see this surpassing Unity www.unity3D.com nor Shockwave for that matter. Now it looks better than Shockwave 3D to a certain extent. Though... I want to see some 2D support.

    For Flash... its nothing but a pitty fish in the water so do us a favor google. Blow that blowfish back in the water where it belongs. :)

  32. Amazing plugin that's very well thought through. Kudo's google. I forsee an exciting new market opening up for 3D on the web!

    I'd personally like to see native support for Stereoscopic output. Currently anaglyph can be done via code (eg. http://www.motiondust.com/pelvis.php -- git yer specs ready!) but it would be nice if this wokred with iz3d, nvidia 3d vision, etc.

    Anyway, great work!


  33. Hi! Good comments. Actually, VRML can be accessed from Javascript... or at least ONCE could. Its called EAI, I think, and it was part of Netscape's LiveConnect system, I believe. I did a whole year of talking to the CosmoPlayer plugin for Netscape... from Javascript. Adding nodes/elements to the vrml scene graph was quite doable, and I even built a cannon once... that flew the cannonballs on a parabolic trajectory that was updated by the browser window timer. Pretty clunky, but got it done, and that was maybe 15 years ago... on a 486. Fun times.

    Further goods can be found here... http://www.frontiernet.net/~Imaging/eaifaq.html Best wishes, everyone. Happy New Year, where applicable.

  34. I enjoy this post gorgeously with all of my friends. Amazing plugin that's very well thought through. Kudo's google. I forsee an exciting new market opening up for 3D on the web! Thank you.