What APIs Were in the First Version of DirectX?
When Microsoft launched DirectX 1.0 in September 1995 under the codename "Manhattan Project," it was designed to convince reluctant game developers to build for Windows 95 instead of MS-DOS. The original release was not the massive multimedia framework known today, but a targeted collection of low-level application programming interfaces (APIs) built to give games direct, high-performance access to PC hardware. Specifically, the original DirectX 1.0 release comprised three foundational components: DirectDraw, DirectSound, and DirectPlay, accompanied by an early low-level framework for input and hardware abstraction.
The Push from DOS to Windows 95
In the mid-1990s, PC game developers avoided Windows due to severe performance bottlenecks. MS-DOS granted programmers direct access to video memory, sound cards, and input devices via interrupts and raw memory registers. Windows, by contrast, placed a protective layer of device drivers and graphical abstraction between software and hardware, which introduced significant latency and killed frame rates.
DirectX was engineered to bridge this gap. Rather than routing graphics and audio through the slow Windows Graphical Device Interface (GDI), DirectX introduced the Hardware Abstraction Layer (HAL) and the Hardware Emulation Layer (HEL). If the installed graphics or sound card supported a requested feature natively, HAL executed it directly on the hardware. If the hardware lacked support, HEL simulated the feature in software.
DirectDraw: High-Speed 2D Bitmaps
DirectDraw was the undisputed centerpiece of DirectX 1.0. Contrary to modern associations of DirectX with complex 3D graphics pipelines, version 1.0 focused almost entirely on accelerated 2D graphics.
DirectDraw allowed developers to bypass standard Windows GDI rendering and manipulate video RAM directly. Key features included:
- Hardware Page Flipping: Smooth rendering achieved by switching between a visible front buffer and a hidden back buffer, eliminating screen tearing.
- Hardware Blitting (BitBLT): Fast hardware-level block image transfers, allowing sprites and 2D surfaces to move and scale across the screen with minimal CPU overhead.
- Clipping and Surface Overlays: Management of rectangular viewports and video surfaces that could overlay application windows.
Because 3D accelerators were not yet ubiquitous in consumer PCs in 1995, DirectDraw handled the primary rendering requirements for the vast majority of commercial games at the time.
DirectSound: Hardware Audio Mixing
Before DirectX, managing audio in PC games was notoriously difficult, requiring developers to write custom routines or license third-party libraries to support Sound Blaster, Gravis UltraSound, and other competing audio cards.
DirectSound solved this fragmentation by offering a unified interface for digital audio playback and recording. Its primary duties in version 1.0 included:
- Low-Latency Playback: Providing near-instant audio triggering, which was critical for sound effects tied to fast-paced on-screen action.
- Hardware Audio Mixing: Allowing multiple distinct audio streams to mix directly on sound card DSPs rather than exhausting CPU cycles.
- Secondary Sound Buffers: Enabling games to store, loop, and modify volume or frequency on individual sound clips independently.
DirectPlay: Simplified Multiplayer Networking
DirectPlay provided an abstraction layer for multiplayer communication, an area that was rapidly gaining importance with the rise of local area network (LAN) gaming and consumer dial-up internet.
Rather than forcing developers to write unique network stacks for IPX/SPX, TCP/IP, or direct modem-to-modem connections, DirectPlay acted as a standardized wrapper. A developer could write their multiplayer game logic to the DirectPlay interface once, and the API handled message routing across various communication protocols.
The Foundation for Modern PC Gaming
While Direct3D, DirectInput, and DirectMusic later became synonymous with PC multimedia, none of them were part of the initial DirectX 1.0 shipment. DirectInput in version 1.0 existed only in an embryonic, basic joystick-handling state rather than a distinct standalone API, and 3D capabilities did not arrive until Microsoft acquired RenderMorphics and integrated Direct3D into DirectX 2.0 in 1996.
DirectDraw, DirectSound, and DirectPlay formed the minimal, battle-tested core that proved Windows 95 could rival MS-DOS in raw gaming performance, laying the groundwork for Windows to become the dominant PC gaming platform.