Microsoft to kill OpenGL
Posted: 2005-10-07 09:55am
This is sort of old news, but I couldn't find anything posted about it (and I found out about it today) so...
Slashdot, The Inquirer and others point to the discussion at the OpenGL boards, here.
Also: Wikipedia
Basically, MS has decided to not let OpenGL have direct access to the hardware, but instead layer it through their DirectX 10 (through which also earlier versions of DX will be layered. Apparently, DX will also no longer be backwards compatible). In other words, OpenGL will be emulated through DX10, which is bound to affect performance badly. Some guy from 3Dlabs writes:
It later in the thread at OGL forums turns out that it would probably be possible to use OpenGL with full hardware support, but only by disabling some features of their new OS, or possibly running in fullscreen mode. DirectX would have no such limitations.
As Mr. Barthold writes, it would be possible to have full OpenGL hardware support, with extensions and everything, and also all of the Vista effects. But only if MS would let the developers have the information they need to write the appropriate drivers. It seems that MS show no sign of wanting to do that (surprise, surprise).
Now, it should be mentioned that Microsoft support for OpenGL hasn't been updated since Windows95 and OpenGL 1.1, but it has been possible to circumvent this through the use of extensions. If MS decide to use the DX layer thing, this would no longer be possible, as any extensions not included in the OpenGL 1.4 standard (which would then no longer be extensions, but anyway) would not exist in the DX-OGL framework.
So the question is, why is MS doing this? What possible good could come out of not letting the most used standard in 3D graphics be fully supported in their new OS? It is not exactly going to make engineers (whose CAD programs and similar almost exclusively uses OGL), 3D modelers and animators (Maya and most other such tools also use OGL) and many others drool over the new Windows. It makes just as much sense as their decision on Java support in MSIE way back when (ie, none at all). It seems like they can't stand cross-platform standards. They really have to control everything.
I wonder if Sony's announcement that PS3 would have some support for OGL could have something to with it...
Slashdot, The Inquirer and others point to the discussion at the OpenGL boards, here.
Also: Wikipedia
Basically, MS has decided to not let OpenGL have direct access to the hardware, but instead layer it through their DirectX 10 (through which also earlier versions of DX will be layered. Apparently, DX will also no longer be backwards compatible). In other words, OpenGL will be emulated through DX10, which is bound to affect performance badly. Some guy from 3Dlabs writes:
Barthold wrote:This information came from the OpenGL BOF held at Siggraph 2005 in LA this last Wednesday evening. This was confirmed at the BOF by NVIDIA, ATI and us (3Dlabs).
As soon as an ICD is loaded the composited desktop is turned off on Windows Vista. If you want the composited desktop Aeroglass experience, you will need to make your application go through Microsoft's OpenGL implementation, which is layered on top of DirectX. As pointed out earlier, this layering can have performance implications. Their implementation supports OpenGL version 1.4 only, without extension support.
We believe it possible to provide an ICD with full composited desktop support while adhering to the stability and security requirements in Windows Vista. But we need Microsoft's help in doing so.
For some more information, you can browse these Microsoft Winhec slides:
"Windows Graphics Overview [WinHEC 2005; 171 KB]"
"Advances in Display and Composition Architecture for Windows [WinHEC 2005; 422 KB]"
Regards,
Barthold
3Dlabs
It later in the thread at OGL forums turns out that it would probably be possible to use OpenGL with full hardware support, but only by disabling some features of their new OS, or possibly running in fullscreen mode. DirectX would have no such limitations.
As Mr. Barthold writes, it would be possible to have full OpenGL hardware support, with extensions and everything, and also all of the Vista effects. But only if MS would let the developers have the information they need to write the appropriate drivers. It seems that MS show no sign of wanting to do that (surprise, surprise).
Now, it should be mentioned that Microsoft support for OpenGL hasn't been updated since Windows95 and OpenGL 1.1, but it has been possible to circumvent this through the use of extensions. If MS decide to use the DX layer thing, this would no longer be possible, as any extensions not included in the OpenGL 1.4 standard (which would then no longer be extensions, but anyway) would not exist in the DX-OGL framework.
So the question is, why is MS doing this? What possible good could come out of not letting the most used standard in 3D graphics be fully supported in their new OS? It is not exactly going to make engineers (whose CAD programs and similar almost exclusively uses OGL), 3D modelers and animators (Maya and most other such tools also use OGL) and many others drool over the new Windows. It makes just as much sense as their decision on Java support in MSIE way back when (ie, none at all). It seems like they can't stand cross-platform standards. They really have to control everything.
I wonder if Sony's announcement that PS3 would have some support for OGL could have something to with it...