Lably
Skip to content

Direct3D

API used in Microsoft DirectX for 3D rendering

  • 34 min read
  • 18 chapters

Related on Lably

Through Microsoft Windows

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. 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.

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 cancelled.

Overview

  • Direct3D 6.0 – Multitexturing
  • Direct3D 7.0 – Hardware Transformation, Clipping and Lighting (TCL/T&L), DXVA 1.0
  • Direct3D 8.0 – Pixel Shader 1.0/1.1 & Vertex Shader 1.0/1.1
  • Direct3D 8.1 – Pixel Shader 1.2/1.3/1.4
  • Direct3D 9.0 – Shader Model 2.0 (Pixel Shader 2.0 & Vertex Shader 2.0)
  • Direct3D 9.0a – Shader Model 2.0a (Pixel Shader 2.0a & Vertex Shader 2.0a)
  • Direct3D 9.0b – Pixel Shader 2.0b, H.264
  • Direct3D 9.0c – last version supported for Windows 98/ME (early releases) and for Windows 2000/XP (all releases); Shader Model 3.0 (Pixel Shader 3.0 & Vertex Shader 3.0)
  • Direct3D 9Ex – Windows Vista only; Direct3D 9.0c, Shader Model 3.0, Windows Graphics Foundation 1.0, GPGPU, DXVA 2.0
  • Direct3D 10.0 – Windows Vista/Windows 7; Shader Model 4.0, Windows Graphics Foundation 2.0
  • Direct3D 10.1 – Windows Vista SP1/Windows 7; Shader Model 4.1, Windows Graphics Foundation 2.1
  • Direct3D 11.0 – Windows Vista SP2/Windows 7; Shader Model 5.0, Tessellation, Multithreaded rendering, Compute shaders, implemented by hardware and software running Direct3D 9/10/10.1
  • Direct3D 11.1 – Windows 8 (partially supported on Windows 7 SP1 also); Stereoscopic 3D Rendering, H.265
  • Direct3D 11.2 – Windows 8.1; Tiled resources
  • Direct3D 11.3 – Windows 10
  • Direct3D 12.0 – Windows 10; low-level rendering API, Shader Model 5.1 and 6.0
  • Direct3D 12.1 – Windows 10; DirectX Raytracing
  • Direct3D 12.2 – Windows 10; DirectX 12 Ultimate

Sign in to keep reading

17 more chapters are free with a Lably account.

More in Computing and communication