Which graphics API for browsers should I learn?
Which 3D graphics API for browsers should I learn? I hear there's WebGL for Firefox 4, O3D for Chrome, and Shockwave has been around for a decade for all browsers. There may be others, but I'm not sure. It开发者_高级运维 seems like every modern browser wants their own implementation of multimedia - different codecs for HTML5 video, different syntax for CSS3, etc... It's very confusing and very Internet-Explorer-like to diverge like this. I'd like to at least wrap my head around the 3D graphics front. Ideally, the API I choose should not require a plugin, uses hardware acceleration, and will be supported by as many future browsers as possible.
I'd also go with WebGL because it is a standard from Khronos Group since February. Firefox got it for almost one year (but still in the version 4 beta/rc). Google Chrome got it in the current version. Opera just implemented it (I think not entirely yet) http://my.opera.com/core/blog/2011/02/28/webgl-and-hardware-acceleration-2
As yojimbo87 tell you Microsoft is not part of the Khronos Group because microsoft support DirectX which is in concurrency with OpenGL.
As for O3D, Google used it as a plugin-API but on the main web page you can see it's now deprecated. http://code.google.com/intl/fr/apis/o3d/
For other way of doing 3D on Web you can use something like VRML/X3D, flash got something serious but, here is the good thing that happen with WebGL : You have WebGL implemented on firefox for mobile phone (who will be coming soon). I think it won't take long til it Chrome and Safari will be doing the same.
If you not convinced yet, WebGL is hardware accelerated, you can use shader inside. A lot of API/Tools are coming out there. A wonderfull website to learn it and have some news about WebGL is : http://learningwebgl.com/blog/
Have fun with it.
Personally I'd go with WebGL - it's the one that's based on the HTML5 2D <canvas>
element, and O3D is actually built on top of WebGL.
It's already built into Chrome 9+, and will be in Firefox 4 (it's in the beta versions already).
I would go with WebGL. It may not be a mainstream yet (for "hardcore" browser based 3D stuff), but it's backed by big players (like Apple, Google, Mozilla, and Opera) and it looks very promising. WebGL is already in stable version 1.0.
精彩评论