Fraternity Manuals

Direct3D

From Open Encyclopedia

Direct3D is part of Microsoft's DirectX API. Direct3D is only for use in Microsoft's various Windows operating systems (Windows 95 and above) and, although in a quite different version, in the Xbox and the Xbox 360. Direct3D is used to render three dimensional graphics in applications where performance is important, such as games. Direct3D also allows applications to run fullscreen instead of embedded in a window, though they can still run in a window if programmed for that feature. Direct3D uses hardware acceleration if it is available on the graphic board.

Direct3D is a 3D API. That is, it contains many commands for 3D rendering, but contains few commands for rendering 2D graphics. Microsoft strives to continually update Direct3D to support the latest technology available on 3D graphics cards. Direct3D offers full vertex software emulation but no pixel software emulation for features not available in hardware. For example, if a program programmed using Direct3D requires pixel shaders and the graphics card on the user's computer does not support that feature, Direct3D will not emulate it. The program will most likely exit with an error message. Although there is a REF device, it's too slow to be used in any application to emulate pixel shaders and is usually ignored.

Direct3D's main competitor is OpenGL. There are numerous features and issues that proponents for either API disagree over, see Direct3D vs. OpenGL for a summary.

Version history

In DirectX version 7.0, the .dds texture format was introduced.

As of DirectX version 8.0, Direct3D was rolled up into a package called DirectX Graphics. DirectX Graphics was meant to be a combination of DirectDraw and Direct3D, but in reality was just Direct3D with a few DirectDraw features added. Most users still refer to DirectX Graphics as Direct3D.

Direct3D was not considered to be user friendly, but as of DirectX version 8.1, many usability problems were resolved. Direct3D (DX8) contained many very powerful 3D graphics features, such as vertex shaders, pixel shaders, fog, bump mapping and texture mapping.

DirectX version 9.0 added a new version of the High Level Shader Language, support for high dynamic range lighting, multiple render targets, and vertex buffer indexing.

Related tools

DirectX comes with D3DX, a library of tools designed to perform common mathematical calculations and several more complicated tasks, such as compiling or assembling shaders used for 3D graphic programming. It also includes several classes that simplify the use of 3D-models and, for example, particle systems. D3DX is provided as a dynamic link library (DLL) or as a static library (i.e. is included in the executable).

DXUT (also called the sample framework) is a layer built on top of the Direct3D API. The framework is designed to help the programmer spend less time with mundane tasks, such as creating a window, creating a device, processing Windows messages and handling device events.de:Direct3D es:Direct3D fr:Direct3D ja:Direct3D nl:Direct3D pl:Direct3D pt:Direct3D zh:Direct3D



MediaWiki GNU Free Documentation License 1.2