Graphics APIs Inside Of Vista

OpenGL

Originally Microsoft was going to make an OpenGL implementation on its own. They came to the conclusion that it did not make sense from a support and an ISV standpoint and they opened it up to the hardware manufacturers to develop their own. If there isn't an IHV driver installed, Vista will revert to what comes in the box. According to an article by Microsoft software engineer, Chuck Walbourn on the Microsoft Developer Network, there are three things that Vista can do with 3D acceleration in regards to OpenGL.

#1 MS OpenGL Software Rendering (It is OpenGL 1.1)

"If no ICD is installed, the system will fall back to the OpenGL v1.1 software layer in most cases."

#2 Manufacturer OpenGL driver

"Windows Vista provides the same support as Windows XP for OpenGL, which allows video card manufactures to provide an installable client driver (ICD) for OpenGL that provides hardware-accelerated support; note that newer versions of such ICDs are required to fully support Windows Vista."

#3 Vista will take an older API and wrap it into D3D

"The Windows Vista graphics system is designed to support a broad range of hardware and usage scenarios to enable new technology while continuing to support existing systems. Existing graphics interfaces, such as GDI, GDI+, and older versions of Direct3D, continue to work on Windows Vista, but are internally remapped where possible. This means that the majority of existing Windows applications will continue to work. Windows Vista continues to support the same Direct3D and DirectDraw interfaces as Windows XP, back to version 3 of DirectX (with the exception of Direct3D's Retained Mode, which has been removed). Just as with Windows XP Professional x64 Edition, 64-bit native applications on Windows Vista are limited to Direct3D9, DirectDraw7, or newer interfaces. High-performance applications should make use of Direct3D 9 or later to ensure that they have the closest match to the hardware capabilities."

I had the opportunity to speak with OpenGL architecture review board Chairman Barthold Lichtenbelt. He specified that if there is not a manufacturer ICD present then the API wrap for D3D will operate. This means that OpenGL 1.4 will run in software on D3D. The best implementation will utilize the OpenGL driver from your hardware manufacturer.

I asked Barthold about the future of OpenGL on Vista and other developments. While the breadth of that conversation does not entirely pertain to this article, he made it clear that OpenGL has a home on Vista and touted that he predicts that OpenGL will have greater performance than that of D3D under upcoming standard changes. As OpenGL is 14 years old, Lichtenbelt stated that there are two scheduled specification releases due out this year.

"We are revamping OpenGL," he said, to make it easier for developer to "write applications, faster, more stable and with less bugs, which is a good benefit."

"[The ARB] is very aggressively pushing OpenGL out this year," Lichtenbelt said.

Longs Peak will be the first release. This specification will be suited for existing hardware. The subsequent specification launch called Mt. Evans (both named after mountains in Colorado), will be for new hardware that can utilize geometry shaders and other introductions made by D3D10 hardware.