The problem is that for games--for smooth games with low invocation overhead--we reallyreally need to be able to use the graphics card. There are cute tricks you can do with a 2D context (including, in Three.js's case, software fallbacks for some of WebGL), but nothing that really compares to being able to write modern programmable shading pipeline code.
Without that (and the Audio API, and Orientation events), game developers don't really care about your platform.
Now, there is (in my opinion) a storm brewing for WebGL. Go here ( http://www.khronos.org/registry/webgl/extensions/ ) to see the coming madness. There is nothing worse in the world than being under the stewardship of Khronos/ARB. The fact that W3C et al. haven't taken over or provided an alternative to this is bad.
Microsoft could do something like make DirectWebX or Web3D or what have you. That would be annoying, but sure--we've been writing cross-API rendering backends for a decade and a half now, and so this wouldn't be terrible. Even better, Microsoft could go ahead with a WebGL implementation that calls down into DirectX.
Best, Microsoft could leverage their experience with good API design--don't scoff, seriously; compare OpenGL and the latest DirectX versions--and work with the W3C and browser vendors to fix some of the yawning holes in WebGL.
(
For example, killing off the extensions mechanism entirely in favor of "Is this Web3D 10 compliant? If so, you get this and don't worry.", or a useful capabilities structure. getParameter() is kind of useful, but having a guaranteed caps baseline is nice.
)
EDIT:
I'll elaborate. Go here ( http://www.caniuse.com/#cats=JS_API ) to follow along if you're playing the home game.
The problem is that for games--for smooth games with low invocation overhead--we really really need to be able to use the graphics card. There are cute tricks you can do with a 2D context (including, in Three.js's case, software fallbacks for some of WebGL), but nothing that really compares to being able to write modern programmable shading pipeline code.
Without that (and the Audio API, and Orientation events), game developers don't really care about your platform.
Now, there is (in my opinion) a storm brewing for WebGL. Go here ( http://www.khronos.org/registry/webgl/extensions/ ) to see the coming madness. There is nothing worse in the world than being under the stewardship of Khronos/ARB. The fact that W3C et al. haven't taken over or provided an alternative to this is bad.
Microsoft could do something like make DirectWebX or Web3D or what have you. That would be annoying, but sure--we've been writing cross-API rendering backends for a decade and a half now, and so this wouldn't be terrible. Even better, Microsoft could go ahead with a WebGL implementation that calls down into DirectX.
Best, Microsoft could leverage their experience with good API design--don't scoff, seriously; compare OpenGL and the latest DirectX versions--and work with the W3C and browser vendors to fix some of the yawning holes in WebGL.
( For example, killing off the extensions mechanism entirely in favor of "Is this Web3D 10 compliant? If so, you get this and don't worry.", or a useful capabilities structure. getParameter() is kind of useful, but having a guaranteed caps baseline is nice. )