O3D is not going away. WebGL is a very cool initiative but it has a lot of
hurdles to overcome. The direction of WebGL is trying to just expose
large scheme of things. Maybe at sometime in the future WebGL will have
will have gotten a few orders of magnitude faster but at the moment...
A non-exhaustive list problems WebGL will encounter
*) OpenGL ES 2.0 is not supported on lots of common hardware. That means
there are a lot of machines that will not be able to run WebGL.
graph, is going to have serious problems drawing more than a few pieces of
geometry at 60hz except in very special cases or on very fast machines. This
*) do all parent-child matrix calculations for a transform graph.
*) all culling calculations (bounding box to frustum or other)
*) all sorting calculations for dealing with transparent objects.
*) all animation calculations.
As an example the kitty demo in O3D is doing linear
interpolations on 2710 floats to animate 170 transforms.
The point is not that the artist that created
the kitty should probably not have used 170 bones. ;-)
will be able to do that anytime soon and if it can then
just add more than one kitty to pass its limits.
many shader instructions to do skinning and there will not be enough
instructions to do both skinning and other effects (like shadow mapping)
That means to draw say phong shaded objects requires about 10 GL calls per
1 call to for each matrix you want to pass to the shader (usually 1 to 4
1 call for each color parameter ( for phong the minimum would be 2, color
and shininess though most phong shaders have 5, emissive, ambient, diffuse,
1 call to setup position vertices
1 call to setup normals
If it's textured you'll need another call to supply UVs
1 call to finally draw the object
and then possibly a few calls to restore GL state.
That a minimum of 5 calls and in this case a maximum of 13 per object, per
few objects and keep 60 or even 30hz.
*) WebGL is not trying to solve the data import problem. At the moment, the
only way to get a texture into WebGL is through IMG tags. So, no DXT
textures, no precomputed mips, no cubemaps in one file. There is also no way
needs some attention. I believe WebGL is hoping for extensions to HTLM5 to
provide more generic solutions (so they don't have to put networking code in
WebGL). That's a great goal and O3D would like that as well if it comes
about but it seems like getting HTML5 to add features for downloading
generic data and then getting browser vendors to support that feature will
take a while.
BTW, the WebGL team at Google and the O3D team are currently the same team.
We have every interest in seeing both WebGL and O3D succeed.