Since the mid 90s, Microsoft has worked to prevent the adoption of OpenGL as an interoperable industry standard in favor of its own proprietary DirectX portfolio of graphics software and gaming tools.
DirectX at Microsoft
Microsoft's DirectX strategy was originally intended to push DOS game developers to Windows; it has since served to tie PC gaming to Windows, as DirectX is only available on Windows. Successive versions of DirectX have also been used to push developers to the latest version of Windows; for example, the latest version 10 was intended to result in a crop of Vista-only games that would boost Vista sales. However, this did not work out as intended, as the slow uptake of Vista prevented any real market for DirectX 10 games from developing, leaving PC games to target Windows XP instead.
OpenGL and Apple
The basis for OpenGL originated at high end graphics workstation vendor SGI in the 80s and became an open standard during the early 90s; Microsoft released its competing Direct3D as part of Windows 95's DirectX tools. Despite a period of codevelopment between SGI and Microsoft under the name Fahrenheit in the late 90s, efforts to merge the two never successfully materialized. Instead, Microsoft's dominance over PC computing allowed it to develop its proprietary DirectX and push its adoption with GPU makers, leaving the open source community around OpenGL without the support it needed to keep up as a viable option.
OpenGL nearly faded into obscurity until Apple dropped its own QuickDraw 3D architecture and adopted OpenGL as the official 3D library for Mac OS X in the late 90s. The company's consumer platform helped create a wider audience for OpenGL applications. Interest in open source computing since then has also helped, as OpenGL is used by Linux and, more recently, by all of the major game consoles, including Sony's PSP and PS3 and Nintendo's Wii.
The console exception is of course Microsoft's Xbox, which was named after the DirectX graphics libraries it was designed promote in an effort to stop a broad migration to OpenGL in gaming and a subsequent erosion of Microsoft's software monopoly.
OpenGL is now more competitive with DirectX than ever. Microsoft's stumble with Vista and its DirectX/Direct3D version 10 has also helped to stall its momentum in the market. Microsoft plans to add OpenCL-like support for GPGPU computing into DirectX 11 in Windows 7, but Apple's OpenCL, which is designed to work closely with OpenGL code, will arrive first and with broad industry support. Apple has also released OpenCL as a royalty-free, open standard anyone can implement on any platform.
The design similarities between OpenGL and OpenCL make it easy for developers to create code that, for example, calculates the data for a visualization in OpenCL and then uses the same objects to render graphics in OpenGL. Alternatively, graphics rendered in OpenGL can be processed and transformed using tasks built in OpenCL. The adoption and familiarity of each will support the other.
Support for open standards at GPU makers NVIDIA and AMD, as well as platform support from Apple, Sony, Nintendo, and for Linux and Windows appears ready to release direct graphics support and development from Microsoft's Windows-only grasp and give developers from any company the ability to contribute toward driving ahead the state of the art in graphics.
73 Comments
The broad industry support Apple is building around OpenCL will help increase the critical mass behind OpenGL, the 2D and 3D graphics language Apple uses extensively in Mac OS X.
Since the mid 90s, Microsoft has worked to prevent the adoption of OpenGL as an interoperable industry standard in favor of its own proprietary DirectX portfolio of graphics software and gaming tools.
DirectX at Microsoft
Microsoft's DirectX strategy was originally intended to push DOS game developers to Windows; it has since served to tie PC gaming to Windows, as DirectX is only available on Windows. Successive versions of DirectX have also been used to push developers to the latest version of Windows; for example, the latest version 10 was intended to result in a crop of Vista-only games that would boost Vista sales. However, this did not work out as intended, as the slow uptake of Vista prevented any real market for DirectX 10 games from developing, leaving PC games to target Windows XP instead.
OpenGL and Apple
The basis for OpenGL originated at high end graphics workstation vendor SGI in the 80s and became an open standard during the early 90s; Microsoft released its competing Direct3D as part of Windows 95's DirectX tools. Despite a period of codevelopment between SGI and Microsoft under the name Fahrenheit in the late 90s, efforts to merge the two never successfully materialized. Instead, Microsoft's dominance over PC computing allowed it to develop its proprietary DirectX and push its adoption with GPU makers, leaving the open source community around OpenGL without the support it needed to keep up as a viable option.
OpenGL nearly faded into obscurity until Apple dropped its own QuickDraw 3D architecture and adopted OpenGL as the official 3D library for Mac OS X in the late 90s. The company's consumer platform helped create a wider audience for OpenGL applications. Interest in open source computing since then has also helped, as OpenGL is used by Linux and, more recently, by all of the major game consoles, including Sony's PSP and PS3 and Nintendo's Wii.
The console exception is of course Microsoft's Xbox, which was named after the DirectX graphics libraries it was designed promote in an effort to stop a broad migration to OpenGL in gaming and a subsequent erosion of Microsoft's software monopoly.
OpenGL is now more competitive with DirectX than ever. Microsoft's stumble with Vista and its DirectX/Direct3D version 10 has also helped to stall its momentum in the market. Microsoft plans to add OpenCL-like support for GPGPU computing into DirectX 11 in Windows 7, but Apple's OpenCL, which is designed to work closely with OpenGL code, will arrive first and with broad industry support. Apple has also released OpenCL as a royalty-free, open standard anyone can implement on any platform.
The design similarities between OpenGL and OpenCL make it easy for developers to create code that, for example, calculates the data for a visualization in OpenCL and then uses the same objects to render graphics in OpenGL. Alternatively, graphics rendered in OpenGL can be processed and transformed using tasks built in OpenCL. The adoption and familiarity of each will support the other.
Support for open standards at GPU makers NVIDIA and AMD, as well as platform support from Apple, Sony, Nintendo, and for Linux and Windows appears ready to release direct graphics support and development from Microsoft's Windows-only grasp and give developers from any company the ability to contribute toward driving ahead the state of the art in graphics.
[ View this article at AppleInsider.com ]
Another halfass tactic and halfass effort by the master of halfassed software, microshit.
As cross-platform solutions for gaming we have include OpenGL, OpenAL and now OpenCL. I have spoken to a number of Direct-X developers to find out why they use it in favour to OpenGL. The answer generally comes down to good support by the IDE they use (Visual Studio), and then in certain cases because it makes certain things easier. I have no progamming expereince with Direct-X, so I can't give my own opinion.
Chances are developers who made the games Direct-X centric probably never hand any plans beyond MS-Windows. Using OpenGL would probably have allowed them to change their minds later on, but that obviously was never their game plan.
DirectX has long been one of Microsoft's crown jewels. By dragging their feet on OpenGL support in Windows - for a long time "OpenGL" was synonymous with "broken or laggy at best" for gamers - MS won a significant position of leverage for itself in graphics. Simply put: the nascent 3D accelerator market of 3DFX, Matrox, ATI and Nvidia formed in DirectX's image. Why? The usual Windows parlay trick courtesy of Microsoft.
If you wanted to sell hardware, you had to support DirectX. If you wanted to win rave reviews, you had to optimize for it like hell.
Apple were wise to pick OpenGL. Apple needed hardware acceleration for Quartz and essentially there was no alternative by then. Console makers also helped OpenGL's relevance by using it when they went 3D in the late 90's. Microsoft responded with the Xbox for obvious competitive reasons as the artlcle describes.
But the GPU industry is still DirectX at its core. Look at the ads or reviews of any card and see how much is made of which DirectX technologies are supported, and how fast. This is what lies at the heart of the game industry's continuing disregard for the Mac (Steam anyone?) and the horrible lateness of Mac compatible drivers.
If OpenCL and OpenGL do unite and take on DirectX's position of age old dominance, this will be very interesting indeed.
I'm not even a gamers anymore, but I know that the consequences of this could be vast. (Typed on iPod. Excuse the typos.)
I don't see how this really affects anything. Yes, uptake of DX10 has been slower, but that doesn't mean people are going to run out and make it for a completely new platform. Instead they're just sticking with DX9/DX10 co development. Being first on the market won't really matter either.
I also feel it is slightly dubious to think Apple will do much in a gaming movement, considering their previous track record.
It doesn't help that The Chronos Group failed to materialize its promise of OpenGL 3.0 matching DirectX 10's 3D capabilities.