1) The Graphics Device Interface (GDI, sometimes called Graphical Device Interface) is one of the three core components or "subsystems", together with the kernel and the user (window manager), of Microsoft Windows.
GDI is a Microsoft Windows standard for representing graphical objects and transmitting them to output devices such as monitors and printers.
2) DirectX is a collection of APIs for easily handling tasks related to game programming on the Microsoft Windows operating system. It is most widely used in the development of computer games for Microsoft Windows. The DirectX SDK is available free from Microsoft. The DirectX runtime was originally redistributed by computer game developers along with their games, but later it was included in Windows. Game developers still often include an updated version of DirectX that prompts installation automatically after the game installation to ensure proper program functionality. DirectX 9.0c is the latest release version of DirectX. Direct3D 10 Beta is available as of Windows Vista build 5238. The latest versions of DirectX are still usually included with PC games because the API is often updated.
check this microsoft's direct X site
http://www.microsoft.com/windows/directx/default.mspx
3) OpenGL (Open Graphics Library) is a standard specification defining a cross-language cross-platform API for writing applications that produce 3D computer graphics (and 2D computer graphics as well). The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics and is popular in the video games industry where it competes with Direct3D on Microsoft Windows platforms (see Direct3D vs. OpenGL). OpenGL is widely used in CAD, virtual reality, scientific visualization, information visualization, flight simulation and video game development.
OpenGL serves two main purposes:
* To hide the complexities of interfacing with different 3D accelerators, by presenting the programmer with a single, uniform API.
* To hide the differing capabilities of hardware platforms, by requiring that all implementations support the full OpenGL feature set (using software emulation if necessary).