Direct3D

Direct3D is an application programming interface (API ) from Microsoft for 3D computer graphics. Direct3D is part of DirectX. The company was founded in 1992 by RenderMorphic Servan Keondjian was purchased in 1995 by Microsoft to develop its 3D API Reality Labs Direct3D and integrate in 1996 in DirectX 2.0. Keondjian led the work and Doug Rabson acted as chief developer of the Microsoft team that developed the 3D API for Windows 95. After completion Keondjian and Rabson left the company.

Direct3D is used to give Windows applications as direct as possible access to the hardware of a computer. Direct3D is widely used mainly for computer games, in which it competes with the platform-and operating system-independent OpenGL. Direct3D uses OpenGL differently than a left-handed coordinate system.

The long -time independent programming DirectDraw programming of 2D computer graphics is integrated with DirectX 8.0 in Direct3D.

For the graphics output exists in Windows next to Direct3D and the Graphics Device Interface (GDI). The GDI provides an abstract programming interface, which is for the programmer about little difference whether being drawn on a screen or on a printer. This abstraction makes the issue even though much more slowly, among other reasons, because the GDI must simulate complex drawing commands from basic operations. Unlike the GDI Direct3D comes primarily for display of popular desktop applications used, which are not too graphic intensive. There are now even more graphic interface in Windows, such as GDI or Direct2D.

With Direct3D applications can access to GDI by the hardware directly against it. If a device does not support a more complex command, so there Direct3D only returns an error message. It is then up to the application to respond to this error message adequately - such as by tracking the instruction from basic operations through less detailed representation or by an error message to the user.

Various graphics cards support Direct3D by device drivers that map the standardized API commands Direct3D graphics hardware. This Direct3D distinguishes between initiating and executing commands. Initializing commands convert complex data structures - such as textures - in the graphics card - specific format, executing commands show the converted elements of such. Since the Initialize and Convert elements may take some time, it is common for games to do this when loading a new level. Executing commands, however, are optimized for maximum speed.

Modern graphics cards provide so-called hardware shaders available. These shaders are executable mini- programs which are used to generate 3D effects. For programming the shaders Microsoft defined its own machine language that are supported predominantly directly from the two currently leading manufacturer of graphics chips, NVIDIA and AMD in their chips. Nowadays, however, mainly high-level languages ​​such as HLSL or GLSL shaders are used for programming. Direct3D allows you to control the available shader types ( vertex shaders, pixel shaders and geometry shaders).

Supported Platforms

The first versions of Direct3D were designed for Windows 95. Writing, the current Windows version of Direct3D version 11, this is however just like Direct3D 10 only supported in Windows Vista and Windows 7. The still available version 9.0c supports both the successor to Windows 95 as well - with Windows XP - the NT line.

The game console produced by Microsoft Xbox and Xbox 360 are also programmed with different versions of Direct3D. In addition to these two platforms officially supported by Microsoft exist with Cedega and Wine two implementations of the Direct3D APIs for Linux. The Sega Dreamcast was to Direct3D compatible.

211910
de