Microsoft® Windows® 95 Graphics Architecture Technical Backgrounder September 1995 [Task Bar Image Map] The Windows 95 Graphics Architecture The Microsoft® Windows® 95 operating system includes a new extensible graphics architecture designed to deliver high levels of performance in bitmap graphics, 3-D graphics and digital video playback. Many components of the architecture are included in the Windows 95 retail product; additional components such as game and 3-D graphics will be released though the Microsoft Developer Network to developers who will redistribute these components with their applications and games. This document details the various components of the architecture, their features, benefits, interrelationships and delivery schedule. The new graphics architecture gives developers a uniquely rich and well-resourced development and authoring environment for creating the next generation of games and multimedia applications. Microsoft’s set of cutting-edge graphics technologies offers developers a choice of application programming interfaces (APIs), each finely tuned for the specific task at hand and fully integrated with and complementary to the others. All of these APIs exploit hardware acceleration when present, and Microsoft Corp. 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 is targeted to a particular class of application or area of need, synergy among the technologies enables developers to easily use as much or as little of the technologies as they need, and to switch between them fluidly. Which API developers select will be determined by the requirements of their applications as follows: * Productivity application graphics. Applications that require assistance in drawing general-purpose 2-D graphics primitives and fonts use graphics device interface (GDI) functions. Additionally, 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 in the form of the CreateDIBSection API. * Bitmap graphics. Games, system components and other applications 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. DirectDraw exploits the capabilities of today’s high-powered 2-D graphics accelerators to deliver frame rates that are significantly faster than those possible with either the WinG or the Create DIBSection API. * Consumer 3-D graphics. Developers creating new 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. Developers developing or porting 3-D applications and games who require the highest degrees of control, flexibility and performance will use the Microsoft Direct3DÖ API to directly render 3-D graphics and exploit the capabilities of exciting 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. * Digital video playback. Applications designed to play video use the Video for Windows® API. Video for Windows is now fully integrated into Windows 95; Video for Windows uses DirectVideo to exploit hardware acceleration and improve video playback. The Windows 95 graphics architecture is illustrated in the figure below, and its components are described in detail in subsequent sections of this page. [Image] Fig. 1. Windows graphics architecture Windows Graphics APIs GDI GDI is the standard 2-D graphics API for Windows. GDI provides 2-D graphics primitives for use in productivity and other applications. In Windows 95, GDI adds support for device-independent bitmaps, and it has been tuned for performance on a wide range of accelerated and nonaccelerated display hardware. DirectDraw The DirectDraw API, delivered with the Game SDK, is Microsoft’s newest, fastest technology for putting bitmaps onto the screen. DirectDraw is Microsoft’s composition engine for higher-level graphics subsystems. It allows developers to integrate quickly images generated by all graphics subsystems. Today, Reality Lab and Video for Windows take advantage of DirectDraw for composition services; GDI interoperates seamlessly with DirectDraw today and will fully take advantage of DirectDraw in the future. DirectDraw is a thin layer above the display hardware that enables developers to take advantage of the powerful composition abilities of Windows graphics accelerators easily. DirectDraw is the composition engine for 2-D, 3-D and video; composing and moving images at high speed; and enabling smooth animation. By using DirectDraw, an application can manipulate video memory easily, taking full advantage of the page flipping, blting, transparency and color-space conversion capabilities of different types of display hardware without becoming dependent on a particular piece of hardware. DirectDraw provides a device-independent way for games and Windows-based software subsystems, such as DirectVideo, to access display device-dependent features. The high speeds made possible by DirectDraw enable developers to create games and multimedia titles that achieve performance rates unprecedented on the PC and also to port existing titles to Windows quickly and easily. Under the MS-DOS® operating system, developers had to write directly to hardware to obtain high performance; now, with DirectDraw, they can access even better performance than was possible under MS-DOS in a consistent way across all the hardware that accelerates DirectDraw. DirectDraw is an OLE Component Object Model-based (COM-based) API and will be part of a future version of Windows. DirectDraw forms the foundation upon which Direct3D and DirectVideo are built. The Game SDK version 1.0 final beta was released to developers in mid-July 1995, and the full release is expected to be shipped to developers by October 15, 1995, via the MSDN program. To obtain further information on the Game SDK, send e-mail to MMDINFO@microsoft.com or check out the Game SDK press release. Reality Lab Reality Lab is Microsoft’s high-level, cross-platform 3-D API designed for performance. It brings developers a comprehensive, high-speed, real-time, 3-D, software-rendering library targeting high-volume consumer platforms, and it has a small memory footprint. Reality Lab is the API of choice for new high-performance, real-time, interactive multimedia applications such as games and entertainment. It is object- and scene-based and offers a short learning curve that enables developers to write 3-D applications quickly and easily. Microsoft acquired Reality Lab with its February 1995 purchase of RenderMorphics, the industry leader in real-time 3-D programming tools for the personal computer. The integration of Reality Lab with the Microsoft family of graphics APIs is now almost complete, and Reality Lab version 2.1 beta 1 will ship to developers in October 1995. A second beta release is planned for December 1995, with the final release of Reality Lab version 2.1 planned for early in the first quarter of 1996. Reality Lab will be integrated into a future version of Windows and is built on top of the low-level Direct3D API. Reality Lab will be supported across the entire Microsoft family of operating systems and will be made available on the Power MacintoshÖ, SGI workstations, and the new generation of 32-bit and 64-bit console platforms. To obtain more information about Reality Lab or to register for the beta program, send e-mail to REALITY3@microsoft.com. Direct3D Direct3D is Microsoft’s new low-level, hard-core, cross-platform 3-D API. First introduced to the developer community at a 3-D design review in Redmond, Wash., in August 1995, Direct3D is the API of choice for advanced developers requiring the highest degrees of control, flexibility and performance, as well as compatibility with Windows and device independence. Direct3D is a thin layer above real-time 3-D accelerator hardware that gives developers easy access to the features of that hardware, and also offers optimal software rendering for hardware features not present. In contrast to Reality Lab, Direct3D is polygon- and vertex-based, requires object and scene-management to be handled by the application, and demands thorough knowledge of low-level 3-D graphics programming principles. Direct3D allows developers to port existing high-performance multimedia applications such as games to Windows quickly and easily, enabling existing games to take advantage of the Windows-based game platform. It also gives developers the flexibility to exploit their own rendering and scene-management technologies while automatically enabling them to take advantage of the new generation of 3-D hardware accelerators. Direct3D is an OLE component technology COM-based API that both interoperates with and takes advantage of the services of DirectDraw when appropriate. Direct3D will be delivered as part of the Reality Lab beta program and will be integrated into a future version of the Windows operating system. For more information, read this press release about Microsoft's demonstration of hardware accelerated 3D. OpenGL for Windows NT and Windows 95 OpenGL is a standard 3-D rendering API for high-end, high-accuracy, workstation-class applications. It is a low-level, comprehensive, operating system-independent 3-D API designed for accuracy and flexibility. OpenGL brings developers high-quality, precision rendering. OpenGL is the developer’s 3-D API of choice for applications such as authoring, CAD and CAM, modeling, data visualization and other high-end applications. Through the incorporation of OpenGL into the Microsoft Windows NTÖ operating system, Microsoft has enabled applications to migrate from high-end workstations to the PC platform. Microsoft expects to provide support for OpenGL under Windows 95 in October 1995. Video for Windows Video for Windows is the video playback engine for Windows and is built into Windows 95. Video for Windows gives developers a choice of compression-decompression (codec) systems and is complemented by Microsoft’s support for the industry-standard Moving Pictures Experts Group (MPEG) video-compression format. In June 1995, Microsoft announced that it has licensed software-based MPEG playback technology for inclusion in future versions of the Windows operating system. This technology provides 24 frames per second with 11KHz audio on a 90MHz Pentium®-based system, and will enable the proliferation of digital video in a broad range of corporate, reference, education and entertainment applications. Video for Windows exploits DirectVideo to deliver hardware-accelerated video playback. DirectVideo DirectVideo provides a videocentric interface to DirectDraw that allows Video for Windows to exploit hardware-based color-space conversion, stretching, interpolation and overlays to improve video-playback quality. DirectVideo allows Video for Windows AVI-format movies to take advantage of hardware acceleration when present, thereby increasing the size of the playback window, reducing CPU load, and eliminating tearing. When hardware acceleration is not present, Video for Windows will use Microsoft’s high-speed software decompression technology. DirectVideo will be available to computer system and peripheral manufacturers in the fourth quarter of 1995. Unified Display-Device Driver All of the above APIs will work with a single unified display-device driver. Hardware vendors who want to add capabilities to their products can simply add functionality to their device driver to expose these capabilities to applications through Microsoft APIs. For example, updated device drivers for Windows 95 that include a DirectDraw hardware abstraction layer (HAL) for all major display cards are available now in beta form on the Game SDK beta version. They will be broadly available after the Game SDK is final in September 1995. ######### Microsoft, Windows, DirectDraw, Direct3D, MS-DOS and Windows NT are either registered trademarks or trademarks of Microsoft Corp. in the United States and/or other countries. Power Macintosh is a trademark of Apple Computer Inc. OpenGL is a trademark of Silicon Graphics Inc. Pentium is a registered trademark of Intel Corp. For More Information, Contact: Pam Kahl, Waggener Edstrom, (408) 986-1140 For Online Product Information: Internet Web site: http://www.windows.microsoft.com