Mapping Microsoft’s Game, Interactive Media Technologies

by Mark McCulley

Have you ever awoken feeling totally disoriented, asking yourself, "What day is it? How long have I been sleeping? How did I get here?" As a software developer trying to find your way in a landscape of rapidly changing technologies, you’re probably experiencing a similar feeling about the game and interactive-media terrain. Let’s start with the most important stuff—DirectX and ActiveX.

DirectX API

DirectX is a low-level API designed specifically for high-performance applications like games. DirectX is a thin layer providing direct access to hardware services (hence, the name). The technology takes advantage of available hardware accelerators and emulates accelerator services when accelerators are not present. DirectX components include the following:

DirectDraw provides 2-D graphics services.

Direct3D provides 3-D graphics services.

DirectSound provides sound-mixing and playback services.

DirectPlay provides multiplayer game connectivity over the Internet.

DirectInput provides services for joysticks and other input devices.

DirectX is based on COM (Component Object Model) and therefore sports a C++ interface. However, as with other COM interfaces, DirectX methods can be called through a C-style interface. The DirectX API is slated to become a part of the standard Win32 API.

Many of the components of DirectX were initially introduced in the Windows 95 Game SDK. The latest edition of DirectX technology includes Direct3D and is available in the DirectX 2 SDK, which supersedes the Windows 95 Game SDK.

ActiveX

ActiveX is a brand name for Microsoft’s Internet and multimedia technologies. ActiveX doesn’t refer to a single technology or SDK—you’ll see the term used in conjunction with many different developer technologies, including multimedia. One of these new technologies is ActiveMovie, formerly code-named Quartz. ActiveMovie is poised to become the framework for next-generation media-streaming technology.

Release schedule

The following table summarizes projected release dates for DirectX and ActiveMovie.

Technology Platform Beta Release SDK
DirectX 1 Windows 95 Shipped Windows 95 Game SDK
DirectX 2 Windows 95 Shipped DirectX 2 SDK
DirectX 2 Windows NT 4.0 Now DirectX 2 SDK
DirectX 2 Power Macintosh Q4 96
ActiveMovie 1.0 Windows 95 and Windows NT Now Q3 96 ActiveMovie SDK
ActiveMovie 1.0 Power Macintosh Q4 96

Note: Windows NT 4.0 supports all components of DirectX 2 except Direct3D. Windows NT support for Direct3D will be available in the second half of 1996.

Graphics technologies

The elves at Microsoft have been very busy lately: Several slick, new, high-performance 2-D, 3-D, and animation-graphics technologies have been released in 1996—DirectDraw, Direct3D, and ActiveMovie. The following diagram shows—in simplified form—the relationship among these new technologies, existing technologies, and applications.

   

     Figure 1: Relationships among Win32 graphics technologies

GDI

GDI is still the standard workhorse 2-D graphics API for Win32. GDI provides graphics primitives for lines and curves, filled shapes, fonts, text, bitmaps, and printing. GDI is interoperable with DirectDraw.

DirectDraw

DirectDraw is Microsoft’s composition engine for 2-D, 3-D, video, and animation. It was designed specifically for games and other applications that require high-performance graphics. DirectDraw provides the following 2-D graphics services:

Accelerated page flipping and blts.

Hardware overlays with stretching.

Color keying for blts and overlays.

Accelerated bitmap stretching.

Color and format conversion.

Direct3D

Direct3D is Microsoft’s rendering engine for real-time 3-D graphics. Like DirectDraw, Direct3D enables device-independent access to graphics-accelerator hardware for services such as geometry transformations, lighting, and rasterization. Direct3D provides an integrated two-level API:

Retained mode, a high-level API for manipulating 3-D objects and managing 3-D scenes.

Immediate mode, a low-level API for polygon- and vertex-based rendering.

ActiveMovie

ActiveMovie is Microsoft’s new media-streaming architecture for audio and video. It’s designed from the ground up to be cross-platform and to allow streaming on the desktop or over the Internet. ActiveMovie uses DirectDraw to take advantage of graphics accelerator hardware for optimum performance, and it’s extensible to allow easy integration of new technologies and third-party enhancements. In addition to AVI and QuickTime media streams, ActiveMovie supports software-based playback MPEG video and audio.

If you author titles using Visual Basic or other scripting languages, you’ll be interested in the ActiveMovie control. You can drop this ActiveX control into your application and get instant access to ActiveMovie’s video- and audio-playback capabilities. And if you develop video or audio tools, look into using ActiveMovie’s filter graph architecture as the framework for the next generation of your technology.

ActiveMovie replaces both Video for Windows and MCI (media control interface). Of course, these legacy services will be available and supported in future platforms.

Softimage

Softimage, Inc. produces high-end 2-D and 3-D animation tools for the motion-picture industry. With credits like "Jurassic Park" and "The Mask" in Softimage’s portfolio, you won’t see anyone using Softimage tools to produce cookie-cutter multimedia titles. If you’re in the multimedia-tools business, you may be interested in Softimage SDKs that allow you to extend their tools with your plug-in modules. Check out the Softimage home page at http://www.microsoft.com/softimage/.

Video for Windows

As previously noted, ActiveMovie replaces the digital video technology provided by Video for Windows. Libraries will continue to be available and supported for applications using the old Video for Windows technology. For new development, you should use ActiveMovie. ActiveMovie will play AVI files as well as MPEG and QuickTime.

More information online

A more comprehensive version of this overview, as well as the latest news and downloads of games and interactive-media-development software, can be found at:
    http://www.microsoft.com/mediadev/.

Mark McCulley is a writer on Microsoft’s Interactive Media and Games Developer Web title.

ActiveMovie is poised to become the framework for next-generation media-streaming technology.

GDI is still the standard workhorse 2-D graphics API for Win32.