Microsoft’s next generation operating system, Windows Vista will feature DirectX at its heart. This could have major implications for OpenGL, the graphics API behind the majority of CAD applications, says Greg Corke.
Windows Vista, the long awaited new version of Microsoft’s Windows Operating System, is currently in beta 1 and is due to ship next year. Previously known as ‘Longhorn’, Vista was officially unveiled in July 2005, and its name has much to do with its new look and feel, which is known as ‘Aero’. Aero will give Windows Vista a number of ‘Glass’ display effects which are designed to give Windows more of a 3D look and feel. Window and dialogue box borders will be partially transparent, content will be blurred behind them and shadows will be used to enhance the sense of depth. Windows and dialogue boxes will also appear and disappear using zooming and fading effects. From the beta 1 we’ve seen it all looks very slick and impressive, but in order to make these effects possible Microsoft has built Vista’s Desktop Windows Manager (DWM) on DirectX, its own API that makes real time 3D graphics possible in games and select CAD/DCC applications.
This move has caused quite a stir throughout the OpenGL community. OpenGL (Open Graphics Library) is an open 3D API on which the vast majority of professional 3D CAD applications are based; it’s the technology that makes accelerated zooming, panning and rotating of 3D models possible. There are currently two ways to implement OpenGL on Windows Vista. One is to use an OpenGL Installable Client Driver (ICD) from one of the Independent Hardware Vendors (IHVs) like 3Dlabs, ATI or Nvidia. This will give users full OpenGL performance, but the Aeroglass desktop compositor, which gives Vista its slick interface will be switched off.
“There is an ICD model which allows hardware vendors like 3Dlabs to create a full OpenGL driver with full performance and functionality, including OpenGL 2.0 support,” explains Tim Lewis, Sales and Marketing Director, 3Dlabs Europe. “Currently, the only implication of using the IHV-supplied OpenGL driver is that the Aeroglass desktop compositor will be switched off for the OpenGL application going through an OpenGL ICD. This means that the borders of the application window will be opaque instead of (potentially) transparently composited with underlying windows. If the application runs in full-screen mode, there will be no discernible difference.”
The second way to currently utilize OpenGL on Vista is to use Microsoft’s own OpenGL implementation, which is layered on top of the DirectX driver. However, according to Metro, an administrator on OpenGL.org’s discussion forum, there are major implications with running OpenGL applications in this way. “In practice this means OpenGL performance will be significantly reduced – perhaps as much as 50%, OpenGL on Windows will be fixed at a vanilla version of OpenGL 1.4, and no extensions will be possible to expose future hardware innovations.”
The question arises why doesn’t Microsoft create and publish APIs that allow OpenGL applications to automatically integrate with the new Desktop Windows Manager? Microsoft’s official response puts it down to stability. “We have invested heavily in providing a unified, robust graphics pipeline for the desktop manager in Windows Vista and designed it right from the start for stability. It is built on the DirectX API, the most popular graphics API available today. There is a safer way for OpenGL applications to work with this through our solution, and that is where we have invested our time and money. Microsoft has no control over the way ICDs are built, and solutions that integrate into the DWM at other entry points can introduce risk to our customers’ experience, something over which Microsoft has no control and therefore cannot sanction.”
However, some believe this move is more about Microsoft wanting to expand the reach of its DirectX API than for any technical reasons, “It would be technically straightforward to provide an OpenGL ICD within the full Aeroglass experience without compromising the stability or the security of the operating system,” says OpenGL.org’s Metro. “Layering OpenGL over Direct3D is a policy more than a technical decision.”
Whatever the reasons behind this move, Microsoft currently looks to be taking Windows Vista in a direction that will not give the majority of CAD users access to what is a major part of the new Operating System. Yes there will be a whole lot more to Vista than a slick interface, with a host of security, performance and reliability features, but some users of OpenGL applications who want to get their hands on maximum 3D performance and functionality are sure to feel a little short changed by not being able to enjoy the full Vista ‘experience’. At the same time there are sure to be other OpenGL users who will not care too much about ‘eye candy’, as long as they have full performance and functionality on their CAD application.
Of course, there is still along time to go before Windows Vista ships, and much can change, inside and outside of Microsoft. We have already heard reports that Nvidia can make an ICD run OpenGL applications in a window and allow it to interact with the Windows Vista desktop manager, and ATI says “it is continuing to evaluate and develop different mechanism for ICDs to give OpenGL users the full OpenGL experience upon Vista’s commercial introduction.”
OpenGL looks certain to face some stiff competition from DirectX over the next few years, regardless of how things pan out with Vista. We’ve seen this month that 3ds Max runs significantly faster with Nvidia and ATI graphics cards under DirectX than OpenGL, and the Autodesk support desk currently recommends that its users run 3ds Max in DirectX mode. In addition, Autodesk’s Chief Operating Officer, Carl Bass has told us of the company’s plans to support DirectX in the forthcoming release of its flagship MCAD application Inventor. It will be interesting to see if other CAD vendors follow suit.
However, despite these ripples in the market there is still a huge amount of support for OpenGL in the CAD and visualization sector and we are certainly going to be keeping tabs on how things pan out for OpenGL and Windows Vista over the next 12 months. Watch this space.