Google O3D – it’s going to be interesting

A couple of weeks ago Google announced O3D: an open source web browser plugin for low level accelerated 3D graphics. The website for O3D project is here.

Of course this created some buzz (hey, it’s Google after all). And it is in some way a competing technology with Unity. I think it’s going to be interesting, so I say “welcome competition!”

Preemptive blah blah: this website is my personal opinion and does not represent the views of my employer, former employers or anyone else other than myself.

Unity is one of the players in “3D on the web” space. 3D graphics in the browser are in fact nothing new. Unity’s browser plugin has existed since 2005 and is now in eight digits installations count. There is VRML, X3D, Adobe Shockwave, 3DVIA/Virtools, software rendering approaches on top of Flash and so on.

In my view, major advantages that Unity has compared to O3D:

  • It’s not only about the graphics. Unity has physics, audio, input, scripting, streaming, networking, asset pipeline and whatnot. O3D is only about the graphics, and at a lower level.
  • Unity runs on wider range of hardware. O3D requires Shader Mode 2.0 or later hardware, so about 30% of the “machines on the internet” can’t run O3D (based on our 2009Q1 data). Couple that with lots of compatibility workarounds that we have and it’s probably safe to say that Unity is more stable and mature at this point.
  • Unity is not only about the web. There’s support for iPhone, Nintendo Wii, standalone games, and with time more console and mobile platforms will come.
  • Creating and improving Unity is our primary and only focus as a company. In Google’s case, O3D is just another technology in their vast portfolio.

Of course, O3D also has advantages:

  • It’s done by Google! When Google does something anything, people notice immediately :)
  • O3D is free and open source. Hard to beat the free price, and open source does have it’s benefits. O3D is not a “standard” of any sort right now, but it looks like Google would want it to become one.
  • Only focusing on low level graphics has it’s benefits: it’s lightweight, it appeals to hackers and graphics programmers who want to be in control. Unity’s higher level is much easier and faster to use, but low level hacking can be fun.

Of course there are tons of other differences (I might have missed something important as well).

For me as a rendering guy, it’s interesting to see O3D taking similar decisions here and there (e.g. they don’t use GLSL on OpenGL either because it does not really work in the real world).

So… we’ll see where things will go. It’s going to be interesting!

5 Responses to 'Google O3D – it’s going to be interesting'

  1. imbusy

    What does work instead of GLSL? Cg? Pure assembly code?

  2. castano

    Why don’t you consider O3D another distribution platform instead of a competitor? As you point out it provides a low level API, while unity’s strength is in the high level abstraction and content creation tools that it provides. I think it would be great if you could create games on unity and be able to run them on O3D. That may not be possible/easy right now, but if you talk to google they may add the necessary features in the future.

  3. Aras Pranckevičius

    @imbusy: looks like O3D uses ARB assembly (vertex/fragment programs). At Unity we also mostly use them on OpenGL (there is capability to use GLSL, but no one uses it).

    @castano: the question is, what to do with non-rendering stuff (physics, audio, …).

  4. castano

    That’s why I suggested you talk to google, so that they have the minimal set of features that you would need.

  5. KrisBerg

    I can’t see that you’ve mentioned Linux support in O3D? That’s the only reason I need right now to decide! The (quite old but ongoing) discussion on the Unity Forum:
    http://forum.unity3d.com/viewtopic.php?t=933&postdays=0&postorder=asc&start=0
    a Unity-programmer states that they won’t port it to Linux until there’s a gaming market for that platform.

    From what I’ve read about the Unity information, they almost completely focus on the gaming industry, and not 3D in general, so I can sort of understand it… That said, I think it’s time for EVERY developer to support the three major OS’s, and not leave the “penguin” behind. So, if your blog post here is about competition regarding 3D on web as in general, I think we already have a winner..? I’m sure the disadvantages you list will be solved by Google in coming time, and I really look forward working with O3D instead for the ever-so-slow-performing-and-clipping-problematic Papervision in Flash.

    Thanks for a interesting read dude.

Leave a Reply