DirectX

DirectX is a group of low-level application programs of application
programming interface (API) for creating games and other demanding multimedia applications.
It includes support for 2D and 3D graphics, sound and music, input, and network communication
for applications such as multiplayer games. DirectX is over the layer of the operating system
Microsoft Windows;
this means that the programmer can use 32 bit memory addressing
(no longer the old 16 bit one) for writing into Segment, Offset, a flat memory model, where
memory is available from 0 to MAX, where 'MAX' is the maximum size of this memory.
At present, there is a current release 7.0 containing also support for new technologies,
like for example 3D sound, hardware transformation of objects and light (T&L), support
of 3DNOW! commands.

DirectX contains the following components:

DirectDraw a program interface enabling direct access to the memory of a display rendering
adapter with its emphasis on compatibility with the Windows graphics device interface(GDI.
DirectDraw
represents a hardware independent solution, using two layers: The hardware abstraction layer (HAL),
in fact the set of commands is identical in every computer configuration, and when DirectX finds that
the given device supports the corresponding instruction through hardware, it uses these hardware
functions, and if it does not need them, then such an instruction is interpreted via software using
all available means; and the hardware emulation layer (HEL). (All commands are available, however,
they are run via software). This mode is used mainly in the single step operations of programs.
Both these methods are also used in all interfaces of other types of DirectDraw.

Direct3D - an extension of the DirectDraw interface for 3D graphics.
Here the programmer can select from the two following types: Immediate Mode
or Retained Mode..
The Immediate Mode is used mainly by professional programmers because it provides direct access
to hardware graphics cards. In this mode, it works with individual polygons and lights.
The Retained Mode is used mainly by new programmers or those, who do not require control
over every displayed pixel on the screen. This mode enables simple use of objects, whole
animations of camera lights, collision of objects, and many other useful features.

DirectInput -
an interface for input devices, like for instance: keyboard, joystick, and other game devices,
including force-back devices, enabling feedback on actions in a game.

DirectMusic - an interface for playing of music.
Only for DirectX 6.0 and higher.

DirectSound - an interface for controlling music. This also includes 3D sound effects.