The Windows 95 Graphics Architecture
November 1, 1995
The Windows 95 operating system includes an extensible graphics architecture designed to deliver high levels of performance in bitmap graphics, 3-D graphics, and digital video playback. Developers have a choice of APIs, all of which exploit hardware acceleration. Microsoft has unified the display device driver interface so that manufacturers of graphics hardware accelerators need only provide a single, simple-to-install display driver to accelerate the suite of graphics APIs for the Windows operating system.
Although each graphics API targets a particular class of application or area of need, synergy among the technologies enables developers to use as much or as little of the technologies as they need, and to switch between them fluidly.
Which API developers select is determined by the requirements of their applications:
Productivity application graphics. Applications that require assistance in drawing general-purpose 2-D graphics primitives and fonts use graphics device interface (GDI) functions. GDI now includes the device-independent bitmap (DIB) engine, which provides device-independent raster graphics operations. WinG functionality is now built into the DIB engine as the CreateDIBSection function.
Digital video playback. Applications designed to play video use the Video for Windows API. Now fully integrated into Windows 95, Video for Windows uses DirectVideo to exploit hardware acceleration and improve video playback.
Bitmap graphics. System components and applications such as games that require bitmaps to be blasted to the screen as quickly as possible use the Microsoft DirectDraw API, a general-purpose composition engine for raster graphics. (See "Programming for the Windows 95 SDK," Developer Network News, July/August 1995.) DirectDraw exploits the capabilities of today's high-powered 2-D graphics accelerators to deliver frame rates that are faster than those possible with either the WinG API or the CreateDIBSection function.
Consumer 3-D graphics. Developers creating applications such as games (which require real-time, fully interactive 3-D graphics) use Reality Lab, a comprehensive, real-time 3-D rendering library designed for consumer platforms. See the news article "Microsoft Demonstrates High-Performance Engine and Graphics Accelerator Card for Games on Windows 95" in the For Developers Only section of the World Wide Web (http://www.microsoft.com.devnews) and The Microsoft Network (go devnetnews). Developers creating or porting 3-D applications and games that require the highest degrees of control, flexibility, and performance can use the Microsoft Direct3D API to directly render 3-D graphics and exploit the capabilities of new 3-D hardware accelerators. Reality Lab achieves its hardware acceleration via Direct3D.
Professional 3-D graphics. Developers creating high-end CAD, engineering, or 3-D modeling applications use OpenGL to deliver the high levels of accuracy required by such applications.
For an illustration of the Windows 95 architecture and a more detailed description of each component, see the technical backgrounder "Microsoft Windows 95 Graphics Architecture" in the For Developers Only, Strategy section of the World Wide Web (http://www.microsoft.com/devonly/strategy) and The Microsoft Network (go devstrat).