- Please post documentation on flash being able to on-line compile.
- Both Direct3D and OpenGL (any variant) are moving away from requiring people to supply bytecode (or native code) to an on-line compile model of a high level language. Starting with Direct3D 10 you cannot supply your own bytecode anymore. Direct3D bytecode is cryptographically signed by the HLSL compiler of Microsoft and the DirectX runtime will refuse to run any shader bytecode that does not pass signature verification.
- WebGL is the smallest most concise of any 3D API around. Your claim of 80ties legacy is baseless. It is re-engineered from OpenGL ES 2.0 which cut away much legacy. WebGL threw out the entire remaining OpenGL ES 2.0 legacy profile. The entire API, all of it, fits on 2 PDF pages of a quick reference (compared to 4 for ES 2.0 and a dozen for full blown OpenGL). WebGL is extremely well tested with close to 10'000 tests in around 500 test suites that test everything from API consistency and behavior to actually verifying rendering results. It is not hard to test at all, evidenced by a superb conformance test suite and performance regression suite, unique among any 3D API in existence.
- The extension mechanism offers you the possibility to introduce alternative renderpaths. On any account, none of the extensions present are more than what Direct3D 9 already supports (but OpenGL ES 2.0 does not). Instead of checking the D3DDeviceCaps for capabilities, you check extensions, same thing really.
- Typed arrays have been introduced and are supported well by any vendor doing WebGL
- WebGL runs on mobiles because it is an implementation of OpenGL ES 2.0, which is supported by well over 90% of smartphones and tablets. Implementations of WebGL are offered from multiple vendors for android, and out of the box from Blackberry and Firefox OS