Direct3D

Direct3D
Developer(s)Microsoft
Initial releaseJune 2, 1996; 28 years ago (1996-06-02)
Stable release
12.0 Beta 3 / January 13, 2015; 9 years ago (2015-01-13)
Operating systemMicrosoft Windows, Windows CE, Windows Embedded, Xbox system software
Platformx86, ARM
Type3D computer graphics API
LicenseProprietary
Websitelearn.microsoft.com/en-us/windows/win32/direct3d

Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware acceleration if available on the graphics card, allowing for hardware acceleration of the entire 3D rendering pipeline or even only partial acceleration. Direct3D exposes the advanced graphics capabilities of 3D graphics hardware, including Z-buffering,[1] W-buffering,[2] stencil buffering, spatial anti-aliasing, alpha blending, color blending, mipmapping, texture blending,[3][4] clipping, culling, atmospheric effects, perspective-correct texture mapping, programmable HLSL shaders[5] and effects.[6] Integration with other DirectX technologies enables Direct3D to deliver such features as video mapping, hardware 3D rendering in 2D overlay planes, and even sprites, providing the use of 2D and 3D graphics in interactive media ties.

Direct3D contains many commands for 3D computer graphics rendering; however, since version 8, Direct3D has superseded the DirectDraw framework and also taken responsibility for the rendering of 2D graphics.[7] 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 software programmed using Direct3D requires pixel shaders and the video card on the user's computer does not support that feature, Direct3D will not emulate it, although it will compute and render the polygons and textures of the 3D models, albeit at a usually degraded quality and performance compared to the hardware equivalent. The API does include a Reference Rasterizer (or REF device), which emulates a generic graphics card in software, although it is too slow for most real-time 3D applications and is typically only used for debugging. A new real-time software rasterizer, WARP, designed to emulate the complete feature set of Direct3D 10.1, is included with Windows 7 and Windows Vista Service Pack 2 with the Platform Update; its performance is said to be on par with lower-end 3D cards on multi-core CPUs.[8]

As part of DirectX, Direct3D is available for Windows 95 and above, and is the base for the vector graphics API on the different versions of Xbox console systems. The Wine compatibility layer, a free software reimplementation of several Windows APIs, includes an implementation of Direct3D.

Direct3D's main competitor is Khronos' OpenGL and its follow-on Vulkan. Fahrenheit was an attempt by Microsoft and SGI to unify OpenGL and Direct3D in the 1990s, but was eventually canceled.

  1. ^ "Configuring Depth-Stencil Functionality". Microsoft. August 19, 2020.
  2. ^ "RenderStateManager.UseWBuffer". Microsoft. November 6, 2009.
  3. ^ "Texture Blending (Direct3D 9)". Microsoft. January 6, 2021.
  4. ^ "Geometry Blending (Direct3D 9)". Microsoft. January 6, 2021.
  5. ^ "HLSL". Microsoft. August 4, 2021.
  6. ^ "Effects (Direct3D 11)". Microsoft. June 11, 2021.
  7. ^ "DirectX Software Development Kit, October 2006". Microsoft. Archived from the original on November 2, 2011.
  8. ^ "Windows Advanced Rasterization Platform (WARP) Guide – WARP Architecture and Performance". MSDN. October 11, 2022.