Unfortunately it really doesn't matter what's in an OpenGL spec, nor how it compares to Direct3D. What matters are which features the hardware manufacturers choose to support and how well they do so. If the past is any guide then OGL will continue to lag Direct3D for a long time to come.
Apple are probably the biggest supplier of high-end OpenGL capable hardware+ outside of the PC market, but unfortunately neither they nor their hardware partners offer full support for OpenGL 3.0 - despite all Mac's manufactured since late 2008 being capable). Even older games such as Portal or Half-life 2 run about 50% faster under Windows & Direct3D on the same hardware.
I've developed with both Direct3D and OpenGL on multiple platforms for most of the past twelve years, as well as using platform-specific APIs like libgcm on the PS3. At the end of the day they are all just tools and a means to an end. Those with the best support and tools are the ones I most enjoy using. Currently that's Direct3D, with an honorable mention to libgcm on the PS3.
(Unlike the Ars article suggests, nobody serious is writing games on the PS3 using OpenGL)
IMHO, the killing feature is not requiring Windows...
Seriously, I don't get why one must compare OpenGL, that is cross-platform and runs everything between small phones and visualization workstations to a 3D acceleration library that runs on only one OS and is heavily targeted at games.
Windows, Xbox, Xbox 360, Zune HD, and the upcoming Windows Phone, all run Direct3D.
If you've run Vista or Windows 7 lately with an Aero capable card, then much of your desktop experience was rendered by Direct3D.
Finally, Firefox 3.7, Office 2010, Internet Explorer 9, and many more upcoming apps, all make use of the Direct3D rendering layer (via Direct2D) for hardware accelerated rendering.
So yeah, these days it's used in more than a single OS and for a lot more than just games :)
Yes, they all do run something called D3D, but it's not exactly the same across the board.
Not only that (it's expected to be different), but you actually need to work in a different way for each platform.
For PC you have to handle losing/restoring the device, reloading the assets, etc. Making multithreaded D3D renderer is pain in the ass (the MULTITHREADED FLAG is just going to ruin your performance).
For the consoles, I can't comment as I'm under NDA, but it's just different.
Granted, if OpenGL was on the consoles (it was in some form), it would've had the same differences - mainly - a console is a single-application that runs almost as a kernel - so you don't have handle certain stuff (on PC you have to handle fullscreen/losing/restoring the device, etc), but you have expectations for other (no visible slowdowns, jerking, etc. which are prevalent in the PC games)
Did you notice you mentioned one desktop OS, one dead failed console, one successful console, one failed media player still on sale and an OS that hasn't hit the market and that has, consequently, no market share, all made by the same company?
How does that remotely compare with the breadth of vendors, device formats, architectures and operating systems OpenGL covers? My phone runs it. My laptop runs it, as does every high-end visualization system I ever used.
There's a pretty good chance (e.g. about 100%) that anything you would want to run on that high-end visualization system won't run on your laptop, and anything you would want to run on your laptop won't run on your phone.
If your definition of success is to be running on the broadest spectrum of devices with no regard to marketshare, adoption, or interoperability, then you're right - OpenGL is far more attractive than Direct3D. Ditto Linux over OSX/Windows.
My interests are driven more by market realities.
Having a wide breadth of device vendors and formats is NOT attractive when considering what platforms to target. This is one reason why games on iPhone are far more prevalent than Android - there are basically three iPhone revisions to worry about, compared to a dozen Android handsets that all have slightly different specs, capabilities, and driver bugs.
If OpenGL sees accelerated adoption over the next few years it will be because it's the chosen API of the wildly popular and relatively homogeneous iOS family of devices, not because it has the greatest breadth of hardware support.
> There's a pretty good chance (e.g. about 100%) that anything you would want to run on that high-end visualization system won't run on your laptop, and anything you would want to run on your laptop won't run on your phone.
I agree I will not be able to view 3D medical images on my phone with the same ease I can with a visualization workstation, but that's beyond the point. The point is the same functions are being called by Google Earth on the cellphone and the medical imaging application.
> your definition of success is to be running on the broadest spectrum of devices
No. That's my definition of "cross-platform". Comparing OpenGL with Direct3D is an apples to oranges comparison.
I don't do any graphics programming and so I don't really understand the various features of OpenGL or DirectX. If they hadn't said that OpenGL 4.1 is better than DirectX, the article would have meant very little to me, but I understand your point.
The difference between them is mainly philosophical (hence why debate can be so heated). OpenGL people believe in abstract 3D principles and grudgingly accept that you need some hardware-specific hacks to make it perform. Direct3D people believe in physical hardware, and grudgingly accept that you need some high-level abstractions in order to be productive.
>Previously, OpenGL ES was slightly incompatible with conventional OpenGL. With OpenGL 4.1, that's no longer the case; the desktop platform is a superset of the embedded one.
Brilliant move. That might constitute leap-frogging; if WebGL gets more traction, this could be a killer feature.
Apple are probably the biggest supplier of high-end OpenGL capable hardware+ outside of the PC market, but unfortunately neither they nor their hardware partners offer full support for OpenGL 3.0 - despite all Mac's manufactured since late 2008 being capable). Even older games such as Portal or Half-life 2 run about 50% faster under Windows & Direct3D on the same hardware.
I've developed with both Direct3D and OpenGL on multiple platforms for most of the past twelve years, as well as using platform-specific APIs like libgcm on the PS3. At the end of the day they are all just tools and a means to an end. Those with the best support and tools are the ones I most enjoy using. Currently that's Direct3D, with an honorable mention to libgcm on the PS3.
(Unlike the Ars article suggests, nobody serious is writing games on the PS3 using OpenGL)