DirectX Revisionism

Iain dugg
an article about the upcoming DirectX 10 specification.

Let me rephrase the opening of the article more accurately. The original reads:

Microsoft’s DirectX application programming interface (API) was first introduced in 1995. DirectX was designed to make life easier for software developers by providing a standard platform developers could use to easily make multimedia software and game programming for the Windows Platform.

Before the arrival of DirectX, developers had to program their software titles to take advantage of features found in each individual hardware component. With the wealth of devices on the market, spanning from input devices to graphics and sound cards, supporting every hardware device on the market was a tedious, time-consuming process.

The only fatual part of that is the first sentence about DicrectX coming out in 1995.
Here is my rephrasing.

Microsoft’s DirectX application programming interface (API) was first introduced in 1995. DirectX was designed to lure software developers into using a proprietary, Microsoft-owned API, providing vendor lock-in and reduced availability of games on other platforms.

Before the arrival of DirectX, developers were using OpenGL, a cross-platform, standardized 3D graphics library that allowed developers to take advantage of 3D graphics without requiring deep knowledge of that hardware.

3 Responses to “DirectX Revisionism”

  1. Jeff K Says:

    I agree with you, but would like to add: DirectX is 2d+3d+input+sound and it did make Windows a bit better than it was before, however Open GL rocks.

  2. Iain Says:

    OpenGL 2.1 sounds very cool. OS X will have the ability to offload GPU data to unused/idle CPU cores. I guess Windows will also have this capability.

  3. rae Says:

    Jeff: ya, I guess the open standard for the input would be OpenPlay, and for audio it’s OpenAL, but although both have been around for many years, I don’t think they existed when DirectX came to be.

    Personally, if I was writing a game, I would base it on SDL.
    Here is the blurb from the SDL “about” page:

    Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of “Civilization: Call To Power.”

    SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS, and OS/2, but these are not officially supported.

    SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk.

    SDL is distributed under GNU LGPL version 2. This license allows you to use SDL freely in commercial programs as long as you link with the dynamic library.

Leave a Reply