최근 수정 시각 : 2024-03-24 02:04:58

DirectX/버전 정보

파일:상위 문서 아이콘.svg   상위 문서: DirectX
1. 개요2. 역사3. 버전별 상세 설명
3.1. DirectX 1
3.1.1. Windows Game SDK(1995년)
3.2. DirectX 2
3.2.1. DirectX 2.0(1996년)
3.3. DirectX 3
3.3.1. DirectX 3.0(1996년)
3.4. DirectX 5
3.4.1. DirectX 5.0(1997년)3.4.2. DirectX 5.2(1998년)
3.5. DirectX 6
3.5.1. DirectX 6.0(1998년)3.5.2. DirectX 6.1(1999년)
3.6. DirectX 7
3.6.1. DirectX 7.0(1999년)3.6.2. DirectX 7.0a(1999년)3.6.3. DirectX 7.1(2000년)
3.7. DirectX 8
3.7.1. DirectX 8.0(2000년)3.7.2. DirectX 8.0a(2001년)3.7.3. DirectX 8.1(2001년)3.7.4. DirectX 8.1a(2002년)3.7.5. DirectX 8.1b(2002년)3.7.6. DirectX 8.2(2002년)
3.8. DirectX 9
3.8.1. DirectX 9.0(2002년)3.8.2. DirectX 9.0a(2003년)3.8.3. DirectX 9.0b(2003년)3.8.4. DirectX 9.0c(2004년)3.8.5. Direct3D 9Ex
3.9. DirectX 10
3.9.1. DirectX 10.0(2007년)3.9.2. DirectX 10.1(2008년)
3.10. DirectX 11
3.10.1. DirectX 11.0(2009년)3.10.2. DirectX 11.1(2012년)3.10.3. DirectX 11.2(2013년)3.10.4. DirectX 11.3(2015년)3.10.5. DirectX 11.4(Version 1511)(2015년)3.10.6. DirectX 11.4(Version 1607)(2016년)3.10.7. DirectX 11.4(Version 1703)(2017년)3.10.8. DirectX 11.4(Version 1709)(2017년)3.10.9. DirectX 11.4(Version 1803)(2018년)3.10.10. DirectX 11.4(Version 1809)(2018년)3.10.11. DirectX 11.4(Version 1903)(2019년)
3.11. DirectX 12
3.11.1. DirectX 12(Version 1507)(2015년)3.11.2. DirectX 12(Version 1511)(2015년)3.11.3. DirectX 12(Version 1607)(2016년)3.11.4. DirectX 12(Version 1703)(2017년)3.11.5. DirectX 12(Version 1709)(2017년)3.11.6. DirectX 12(Version 1803)(2018년)3.11.7. DirectX 12(Version 1809)(2018년)3.11.8. DirectX 12(Version 1903)(2019년)3.11.9. DirectX 12(Version 2004)(2020년)3.11.10. DirectX 12 Ultimate(2020년)3.11.11. DirectX 12_2(2020년)3.11.12. DirectX 12.2(2021년)
4. 버전별 출시일5. 윈도우 버전별 DirectX 지원 범위

1. 개요

DirectX의 버전 정보 문서이다.

2. 역사

DirectX가 등장한 가장 큰 이유는 다름아닌 PC 게이밍 때문이다. 1995년 당시 최고의 인기 PC 게임이었던 둠 2는 마케팅에 수억 달러를 쏟아부은 Windows 95보다 더 많은 컴퓨터에 깔려 있었고 둠은 MS-DOS 기반 게임이었기에 Windows에서는 돌아가지 않았다. 이런 놀라운 파급력을 본 MS는 게임이 Windows에서 제대로 돌아가지 않을 경우 판매에 악영향을 미칠 것이라는 것을 잘 알게 되었고, 마침 Windows 95 런칭 직전, WinG 라이브러리로 개발된 라이온 킹 게임이 컴팩 프리사리오 PC에서 충돌 문제로 실행이 안되는 문제를 해결하면서 이름을 붙인 것이 바로 DirectX였다. Windows 95로 둠을 이식하면서[1] Windows에서 둠이 돌아간다는 것을 알리기 위해 빌 게이츠 본인이 직접 샷건을 들고 게임상의 좀비맨을 죽이는 프로모션 광고에서 첫째로 강조한 것이 바로 DOS에는 없는 툴킷, DirectX였다.

DOS 시절에는 하드웨어 영역을 직접 액세스하는 것이 가능하였기에(하술할 DOS4GW 등에 힘입어) 하드웨어의 성능을 최대로 짜내는 일이 가능했으나 윈도우에서는 호환성, 안정성과 보안상의 이유로 응용 프로그램은 사용자 모드에서만 작동하게 하였고, 하드웨어 접근의 경우 Windows API를 반드시 거치도록 변경되었다.[2] 이런 윈도우의 구조는 모든 하드웨어에 대해 추상화를 제공하여 어떤 제품이든 관계없이 MS가 제공하는 API만 호출하면 원하는 기능을 사용할 수 있었기에 응용 프로그램 개발자는 골치아픈 호환성 문제에서 해방될 수 있었다. 하지만 속도가 더럽게 느렸다. 구조상 한 번에 접근 가능한 걸 몇 단계를 거쳐야 하니 성능이 안 나오는 게 당연했다. 이런 문제를 해결하면서 게임 개발자들을 끌어들이기 위해 MS는 대대적인 프로모션을 감행하고 강력한 신기술을 대거 투입하였다.

DirectX는 1994년 11월부터 구상되어 1995년 4월 CGDC(現 GDC)에 첫 베타 버전이 발표되었다. 하지만 그 당시에는 처음부터 DirectX라고 불렀던 것은 아니다. 첫 베타 버전 발표 당시엔 Windows Game SDK라고 불렀는데 Windows의 멀티미디어에 대한 인식이 좋지 않았기 때문. 이후에 들어서야 DirectX로 알려지기 시작했고 1995년 9월 30일에 정식판이 나오게 되었다.

첫 정식판 이후 4년 동안은 그저 도스 대신 윈도우에서 게임을 실행할 수 있게 해주는 대체제 정도로만 쓰였으나 1999년 9월 22일에 정식 발표된 DirectX 7부터는 OpenGL을 압도하기 시작하였으며 윈도우 플랫폼에서만 사용이 가능하다는 단점에도 불구하고 현재까지 강력한 API로서 사용되고 있다. Windows가 이미 데스크탑용 OS 점유율의 대부분을 차지하고 있고 데스크탑 플랫폼 게임용 API로써 사실상 표준과 다름없어졌기 때문.

3. 버전별 상세 설명

3.1. DirectX 1

3.1.1. Windows Game SDK(1995년)

  • 주요 특징 : Windows 95와의 호환성 개선, DirectDraw, DirectSound, DirectInput 포함.[3]
  • 기본 지원 OS : Windows 95 ~ 98, Windows NT 3.51~ 4.0
  • 사용 가능 OS : Windows 3.1 ~ 98[4], Windows NT 3.1~4.0[5]
  • 기본 채택된 그래픽 하드웨어 :
  • 주로 채택된 시기 : 1995~1996년

1985년 처음 Windows가 나왔을 때 많은 사람들이 "윈도우에서 할 게임이 없다!"라고 불평을 늘어놓았던 것이 계기가 되어서 개발되었다는 뒷이야기가 있다. 실제로 1992년 이후 Windows 3.1 시절만 해도 정말 할 윈도우즈 기반의 게임이 없었으며, 물론 사람 폐인 만드는 카드놀이 지뢰찾기가 있었긴 했지만 Windows 3.1 DirectX 비호환 게임들은 전반적으로 DirectX 등장 이전과 비교해 상당히 조악해보였다.[6] 이 상황은 Windows 95 발매 직후까지 계속 이어졌다. 결국 게이머들은 Windows 95와 인텔 펜티엄 CPU가 보급된 시점에도 640 KB의 장벽을 넘어서 게임을 하려 애를 쓰곤 했다. 따라서 DOS4GW와 같은 확장 메모리 확보를 위한 소프트웨어가 필요한 DOS용 게임[7]도 굉장히 많았으며, 심지어 Windows 95 나오기 직전까지만 해도 MS-DOS 6.2와 병행해서 쓰는 사람들이 많았다.

이러한 문제점을 매우 심각하게 봤던 MS에서는 Windows 95가 베타 버전으로 한참 개발되는 중이었던 1994년 11월부터 구상하여 1995년 4월 CGDC에 Windows 3.1에 호환되는 DirectX의 베타 버전을 발표했는데 당시엔 DirectX라고 부르지 않고 Windows Game SDK라는 이름으로 발표했지만 싸늘한 반응만을 얻고 말았다. DirectX의 버전이 2.0부터 시작하는 이유도 이것이다. Windows 95 발표 이후인 1995년 9월 30일에 Windows 95 호환용으로 포팅된 정식 버전이 발표되었는데, 정작 OS에 내장되지 않아 깔린 시스템이 거의 없었기 때문에 이 라이브러리를 사용한 게임들은 대부분 WinG.dll 파일을 따로 넣어두었다. WinG라고도 알려졌던 것은 해당 dll 파일의 이름에서 비롯되었다.

이렇게 된 이유는 Windows 환경에서 그래픽 출력에 쓰는 GDI 라이브러리의 구조가 중간에 한 단계를 더 거쳐 화면에 출력하는 구조이기 때문에 그만큼의 시간을 더 잡아먹다보니 속도가 지나치게 느려서 빠른 속도를 필요로 하는 게임에는 적합하지 않았기 때문이다. 그래서 Windows용으로 나온 게임은 대부분 턴제 전략이나 퍼즐 등의 빠른 그래픽 처리가 필요없는 게임이 대부분이었고 빠른 그래픽 처리가 요구되는 다른 장르에서는 대부분 DOS 기반 플랫폼으로 나왔던 것. DirectX는 GDI가 거쳐야 했던 복잡한 단계들을 생략하여 빠르게 화면 출력 단계로 거치는 구조를 채택했다.

초창기에는 그래픽 처리를 2D 그래픽 컴포넌트인 DirectDraw에 중점으로 두었기 때문에 3D 성능은 Glide는 물론 OpenGL에 비하면 당연히 떨어졌지만 게임-OS간에 호환성이 더 나은 편이었다. MS에서 DirectX에 들이는 관심이 결코 적지 않음에도 불구하고 DirectX 개발팀은 타 마이크로소프트 제품들과 약간 지향이 다르다. 훨씬 더 미묘한 운영 체제 해킹을 적극적으로 사용하며 범용성보다는 특화를 추구하는 경향이 있다. [8]

훗날 더 나아가 종합 멀티미디어 라이브러리로 발전한다. 그리고 이 라이브러리는 대성공을 거두어 게임뿐만이 아니라 그래픽 소프트웨어, 동영상, 심지어 일부 주변기기까지 요구하게 되는 필수요소로 자리잡기에 이른다.

이 버전을 사용한 (흔하지 않은) 게임 중 하나가 1996년 4월에 Windows 95용으로도 컨버전된 삼국지 5이다.

3.2. DirectX 2

3.2.1. DirectX 2.0(1996년)

  • 주요 특징 : Direct3D 포함.
  • 기본 지원 OS : Windows 95 OSR 2
  • 사용 가능 OS : Windows 95~Windows NT 4.0
  • 기본 채택된 그래픽 하드웨어 :
    • ATI Rage 3D II, Rage Pro(1996~1997년)
    • NVIDIA RIVA 128(1997년)
    • 3dfx Voodoo Rush(1997년)
  • 주로 채택된 시기 : 1997~1998년

1996년 6월 5일 많은 게이머들에게 회자되는 DirectX의 3D 그래픽 컴포넌트인 Direct3D가 포함된 DirectX 2.0이 발표되었고,발표 이후 안정화 작업을 거쳐서 Windows 95 OSR 2에 기본 내장되었다.
그러나 이때의 윈도우즈 게이밍은 여전히 도스가 강세여서 PC 게임 = DOS 게임이라는 기현상은 계속되었다. 또한 명목상으로 3D의 지원이 시작되기는 했는데 이때는 3D 게임의 여명기 같은 시절이라 퀘이크가 96년 6월에 나왔고, 부두1이 10월에 나왔다. 경쟁은 커녕 3D 게임 시대는 시작도 되지 않았다. DirectX의 3D가속은 커녕 대부분의 게임들이 2D 기반으로 나오고 추후 별도의 3D 가속 패치같은게 따로 돌아다니던 시절이었다.

FM TOWNS에서는 이 버전까지만 설치할수 있다.

3.3. DirectX 3

3.3.1. DirectX 3.0(1996년)

  • 주요 특징 : DirectSound3D 포함, 다중 키보드 및 마우스 지원.
  • 기본 지원 OS : (해당 없음)
  • 사용 가능 OS : Windows 95~Windows NT 4.0
  • 기본 채택된 그래픽 하드웨어 : (불명)
  • 주로 채택된 시기 : (불명)

1996년 9월 15일에 발표되어 입체음향 기술에 관련된 DirectSound3D 컴포넌트가 포함되었다. Direct3D의 성능도 강화되었으나 3D 사운드는 기존 서드파티의 기술이 아닌 자체 음향 기술만 취급하여 게임 개발사들이 채택하기 꺼렸다.

3.4. DirectX 5

3.4.1. DirectX 5.0(1997년)

  • 주요 특징 : DirectShow[9] 포함, DirectSound3D의 서드파티 기술 지원, 진동 기능 지원.
  • 기본 지원 OS : Windows 95 OSR 2.5
  • 사용 가능 OS : Windows 95~
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA RIVA 128 ZX, TNT(1998년)
    • 3dfx Voodoo 2, Banshe(1998년)
    • 인텔 740(1998년)
  • 주로 채택된 시기 : 1998~1999년

1997년 7월 16일에 발표되어 동년 11월 26일 출시된 Windows 95 OSR 2.5에 기본 내장된 버전. 97년을 전후로 하여 게임 시장에 부두 글라이드 API를 사용한 게임의 시대가 열리게 되다. 이 때 MS는 DirectX 4.0을 마이너 업데이트 격으로 먼저 출시하고 DirectX 5.0을 메이저 업데이트 격으로 나중에 출시할 예정으로 둘을 동시에 개발하고 있었는데, 당시는 3D 그래픽 게임이 본격적으로 발전하기 시작하던 시기였기 때문에 큰 변화가 없는 DirectX 4.0은 외면받았고, 결국 개발이 취소되었다. 하지만 이미 4.0과 5.0의 정보가 공개된 상태에서 버전 번호를 바꾸면 혼동이 올 가능성이 컸기 때문에, 결국 4.0은 결번으로 남게 되었다. #

DirectX 5.0은 새로운 실행 버퍼 모델을 도입함에 따라 3D 성능이 개선되었고 서드파티 개발사의 3D사운드 기술을 지원하는 등 DirectSound3D 부분까지 강화되었지만 당시 부두 그래픽스의 성능이 워낙 뛰어났기 때문에 부두와 D3D를 선택 가능하면 당연히 부두로 게임을 했다. 그래도 종합 멀티미디어 라이브러리로서의 모습이 갖추어진 건 그나마 나은 부분. 또한 97년 말, D3D는 OpenGL과 합쳐져 파렌하이트라는 API로 갈것이라는 발표를 하지만 이루어지지 않는다.

해당버전에서 제공하는 DirectX Information의 한국어핀의 경우 msmincho.ttc나 msgothic.ttc가 설치되어있으면 해당 폰트로 변경되는 문제가 있다.

3.4.2. DirectX 5.2(1998년)

  • 주요 특징 : (불명)
  • 기본 지원 OS : Windows 98
  • 사용 가능 OS : Windows 95~
  • 기본 채택된 그래픽 하드웨어 : (불명)
  • 주로 채택된 시기 : (불명)

3.5. DirectX 6

3.5.1. DirectX 6.0(1998년)

  • 주요 특징 : 멀티 텍스처링 지원, 범프 맵핑 강화
  • 기본 지원 OS : (해당 없음)
  • 사용 가능 OS : Windows 95~
  • 기본 채택된 그래픽 하드웨어 :
    • ATI Rage XL, Rage 128 시리즈부터 Fury MAXX까지(1998~1999년)
    • NVIDIA RIVA TNT2 시리즈(1999년)
    • 3dfx Voodoo 3, 4, 5 시리즈(1999~2000년)
    • intel 752, Extreme Graphics, Extreme Graphics 2(1999~2003년)
  • 주로 채택된 시기 : 1999~2000년

1998년 8월 7일 MS는 이에 포기하지 않고 지속적인 개발 끝에 멀티 텍스처링과 범프 매핑을 비롯한 새로운 기능들이 포함된 DirectX 6.0을 발표했다. 가정용 게임기인 드림캐스트의 API로 사용 가능하지만 DirectX보다 성능 효율이 더 좋은 개발사 자체 API를 주로 사용하는 바람에 있으나 마나 했다. 부두의 위세가 여전히 강했던 시기.

3.5.2. DirectX 6.1(1999년)

  • 주요 특징 : DirectMusic 포함, SSE와 3DNow 명령어 지원.
  • 기본 지원 OS : Windows 98 SE
  • 사용 가능 OS : Windows 95~
  • 기본 채택된 그래픽 하드웨어 : (불명)
  • 주로 채택된 시기 : (불명)

1999년 1월 8일에 출시된 마이너 업데이트 버전으로 DirectMusic이 추가되었다.

3.6. DirectX 7

3.6.1. DirectX 7.0(1999년)

  • 주요 특징 : 하드웨어 T&L[10] 지원.
  • 기본 지원 OS : Windows 2000, Windows 2000 Server
  • 사용 가능 OS : Windows 95~
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce 256, 2 시리즈, 4 MX 시리즈(1999~2002년)
    • ATI Radeon 7000 시리즈(2000~2001년)
  • 주로 채택된 시기 : 2000~2006년(주류 : 2000~2002년)

1999년 9월 22일 글라이드 API를 향한 계속된 추격 끝에 DirectX 7.0이 발표됨으로써 결실을 맺게 되었다. 때마침 부두의 해가 저물고 엔비디아가 저가 고가 시장을 모두 석권하며 D3D의 강세가 두드러졌다. 6.0 버전의 단점을 대폭 개선할 겸 새로운 기술을 추가하면서 1998년에 이미 발표된 OpenGL 1.2.1의 기능을 거의 따라잡았으며 Windows라는 든든한 호환성 보장 레이어를 통해 오히려 OpenGL보다 기능 지원 여부에 신경을 쓰지 않아도 되는 경지에 다다랐다. 이때부터 글라이드의 존재감은 그저 예전 게임을 돌리기 위한 것 정도였고 OpenGL은 아주 특별한 게임을 돌리는 용도였으며 이후 새로 나오는 모든 PC 게임 = DirectX 로 인식이 전환되기에 이르렀다. MS는 Direct3D의 성능이 보잘 것 없을 때부터 OpenGL과 반대 방향 회전 좌표계를 고집하였는데 이것이 현재는 역으로 DirectX에서의 이탈을 방지하는 장벽으로 작용하고 있다.[11]

Windows 95에서 설치하고나서 DirectX 진단도구를 실행하면 DirectX 파일 목록에서 몇몇 파일이 없다고 나오는데 이는 DirectX Media Runtime를 설치하면 해결된다.[12]

3.6.2. DirectX 7.0a(1999년)

  • 주요 특징 : 입력 장치와의 호환성 개선
  • 기본 지원 OS : (불명)
  • 사용 가능 OS : Windows 95, 98
  • 기본 채택된 그래픽 하드웨어 : (불명)
  • 주로 채택된 시기 : (불명)

1999년 12월 8일에 출시된 마이너 업데이트 버전.

3.6.3. DirectX 7.1(2000년)

  • 주요 특징 : 빌트-인 RGB 소프트웨어 렌더링 지원.
  • 기본 지원 OS : Windows Me
  • 사용 가능 OS : Windows Me
  • 기본 채택된 그래픽 하드웨어 : (불명)
  • 주로 채택된 시기 : (불명)

Windows Me 전용 버전이며 기본으로 탑재되었다.

3.7. DirectX 8

3.7.1. DirectX 8.0(2000년)

  • 주요 특징 : 프로그래머블 셰이딩 기능인 셰이더 모델 1.0 적용, 팔레트 기반의 정수형 GPGPU 지원.
  • 기본 지원 OS : (해당 없음)
  • 사용 가능 OS : Windows 95~
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce 3 시리즈(2001년)
  • 주로 채택된 시기 : (불명)

2000년 11월 12일에 정식 발표된 버전으로 DirectX 7로 크게 주목받았던 MS는 더 큰 도약을 준비하고 있었다. 그 중에 하나는 그동안 개발자가 건드릴 수 없는 고정 그래픽 파이프라인 구조였던게 개발자가 그래픽 파이프라인에 프로그래밍(관여)할 수 있는 구조로 바뀐 프로그래머블 셰이딩이었고 그래픽 하드웨어 표준 사항인 레이 트레이싱 기법을 구현할 수 있는 수준까지 도달한 그래픽 API였다.

당시 컨퍼런스에서 발표한 샘플 렌더링 영상으로는 고정 파이프라인 방식에 머물렀던 7.0 버전을 능가하는 혁신이었지만 그래픽 하드웨어 제조사에게 셰이더 프로그래밍하기 위한 표준 가이드라인을 제공하지 않는 바람에 그래픽 하드웨어 제조사의 독자적인 셰이더 언어를 부랴부랴 만들 수밖에 없었고 그 언어의 사용법이 까다로워서 고정 파이프라인 방식보다 생산성이 떨어지는 가장 큰 단점으로 작용했다.

또한 초기에는 셰이더 모델 자체가 불안정한 편이었기 때문에 2001년 초에 픽셀 셰이더가 1.2, 1.3 버전으로, 버텍스 셰이더가 1.1 버전으로 개선된 부분이 반영된 8.0a 버전을 통해 어느 정도 안정화되었지만 7.0 버전과는 달리 모험에 뛰어든 게임 개발사들은 전무에 가까웠다. 개발 난이도도 그렇지만 이전 7.0 버전과의 호환성이 떨어진 것도 진입 장벽으로 작용한 주요 원인 중 하나였다고 볼 수 있다. 그래서 한동안 8.0 버전을 채택한 게임이 거의 나오지 않았다.

DirectX 8.0의 문제점은 사용법과 호환성 자체에만 있었던게 아니었는데, MS가 이제 모든 2D는 3차원 폴리곤으로 그리면 된다는 핑계로 기존의 2차원 가속 기능인 DirectDraw를 없애버렸다. 개발자의 비난이 빗발쳤으나[13] DirectDraw는 이후 돌아오지 않았으며 대신 7.0버전 이하에서 사용 가능하던 2차원 출력 관련 접근(DirectDraw) 기능 일부를 3D쪽으로 지원하였다.

2000년 말에 DirectX 개발 원년 멤버들이 퇴사했다. 이후 후신 개발자들이 DirectX의 개발을 주도하게 되었다.

3.7.2. DirectX 8.0a(2001년)

  • 주요 특징 : USB 게임 컨트롤러 업데이트
  • 기본 지원 OS : (해당 없음)
  • 사용 가능 OS : Windows 95~
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce 3 시리즈 (2001년)
  • 주로 채택된 시기 : (불명)

2001년 1월 24일에 발표된 기존 8.0의 개선판.

3.7.3. DirectX 8.1(2001년)

  • 주요 특징 : 픽셀 셰이더 1.4, 버텍스 셰이더 1.1, 3D 성능 개선.
  • 기본 지원 OS : Windows XP, Xbox(콘솔), Windows Server 2003
  • 사용 가능 OS : Windows 98~
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce 4 Ti 시리즈(2002년)
    • ATI Radeon 8500~9200 시리즈(2001~2002년)
  • 주로 채택된 시기 : 2002~2006년(주류 : 2002~2004년)

2001년 10월 25일에 Windows XP와 함께 발표된 기존 8.0a의 개선판.

3.7.4. DirectX 8.1a(2002년)

  • 주요 특징 : Direct3D 업데이트
  • 기본 지원 OS : (불명)
  • 사용 가능 OS : Windows 98~
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce 4 Ti 시리즈(2002년)
    • ATI Radeon 8500~9200 시리즈(2001~2002년)
  • 주로 채택된 시기 : 2002~2006년(주류 : 2002~2004년)

2002년 6월에 발표된 기존 8.1의 개선판... 이지만 정보가 별로 없는것으로 봐서는 공식적으로는 공개되지 않았거나 얼마 안 가서 8.1b로 대체된 것으로 추정된다.

3.7.5. DirectX 8.1b(2002년)

  • 주요 특징 : Windows 2000에 포함된 DirectShow 업데이트
  • 기본 지원 OS : (불명)
  • 사용 가능 OS : Windows 98~
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce 4 Ti 시리즈(2002년)
    • ATI Radeon 8500~9200 시리즈(2001~2002년)
  • 주로 채택된 시기 : 2002~2006년(주류 : 2002~2004년)

2002년 6월 25일에 발표된 기존 8.1의 개선판.

3.7.6. DirectX 8.2(2002년)

  • 주요 특징 : DirectPlay 8.2 포함.
  • 기본 지원 OS : Windows XP, Xbox(콘솔), Windows Server 2003
  • 사용 가능 OS : Windows 98~
  • 기본 채택된 그래픽 하드웨어 : (불명)
  • 주로 채택된 시기 : (불명)

DirectPlay만 업데이트 되었으며 풀 인스톨러가 없기 때문에 8.1b를 설치하고 DirectPlay 8.2를 설치하면 DirectX 8.2가 된다.

3.8. DirectX 9

3.8.1. DirectX 9.0(2002년)

  • 주요 특징: 셰이더 모델 2.0 적용, 고수준 셰이더 언어(HLSL) 지원, HDR 렌더링 지원, 부동소수점 텍스처 포맷 지원, 다중 렌더 타겟(MRT) 지원, 다중 요소 텍스처 지원, 스텐실 버퍼 지원, 지오메트리 인스턴싱 적용, 부동소수점 실수형 GPGPU의 부분적인 지원.
  • 기본 지원 OS: (해당 없음)
  • 사용 가능 OS: Windows 98~
  • 기본 채택된 그래픽 하드웨어:
    • ATI Radeon 9500~9800 시리즈(2002~2003년)
    • NVIDIA GeForce FX 시리즈(2003~2004년)
    • intel GMA 900(2004년)
    • S3 Chrome 시리즈
    • XGI Volari 시리즈
  • 주로 채택된 시기: 2003~2020년(주류: 2004~2006년)

2002년 12월 24일에 발표된 버전[14]으로 기존 8.x버전부터 도입된 셰이더 언어의 난이도를 낮추기 위해 고수준 셰이더 언어(HLSL)를 지원하기 시작했고 셰이더 모델 2.0으로 업그레이드됨에 따라 동시 명령어 개수가 더욱 확장되었다.

HDR 렌더링이 처음으로 도입되었고 빈약했던 Direct3D의 2D 기능을 보완하여 예전의 DirectDraw에 버금가는 수준으로 개선되었다. 예상대로 많은 전문가들이 기대에 부풀었고 스타워즈 구 공화국의 기사단, 페르시아의 왕자 시간의 모래, 콜 오브 듀티, 파크라이, 하프라이프 2 등 2003년 이후에 출시된 여러 전설적인 명작 게임들을 통해 DirectX의 위상이 더더욱 높아졌다.

원년 개발자들이 퇴사한 이후 첫 메이저 업그레이드 버전이기도 하다.

3.8.2. DirectX 9.0a(2003년)

  • 주요 특징: 픽셀 셰이더 2.0a, 버텍스 셰이더 2.0a 적용
  • 기본 지원 OS: (해당 없음)
  • 사용 가능 OS: Windows 98~
  • 기본 채택된 그래픽 하드웨어: (불명)
  • 주로 채택된 시기: 2003~2020년(주류: 2004~2006년)

2003년 3월 26일에 발표된 기존 DirectX 9.0의 개선판. 버텍스 셰이더, 픽셀 셰이더 둘 다 2.0a로 마이너 업그레이드되었으며 동시 명령어 개수가 최대 512개로 증가되었다. 그 외에 그레이디언트 관련 명령어를 비롯한 일부 새로운 기능이 추가되었다.

3.8.3. DirectX 9.0b(2003년)

  • 주요 특징 : 픽셀 셰이더 2.0b 적용, 4K 텍스처 지원
  • 기본 지원 OS : (해당 없음)
  • 사용 가능 OS : Windows 98~
  • 기본 채택된 그래픽 하드웨어 :
    • ATI Radeon X000 시리즈(2004~2005년)
  • 주로 채택된 시기 : (불명)

2003년 8월 13일에 발표된 DirectX 9.0/9.0a의 개선판. 버텍스 셰이더는 2.0a 그대로 유지되지만 픽셀 셰이더는 2.0b로 마이너 업그레이드되었다. 임시 레지스터의 공간이 확장된 것 이외에는 뚜렷한 변경점은 없고 하드웨어적으로는 ATi의 라데온 X700~800 시리즈만 지원하여 파편화가 발생하는 바람에 게임 업계에서 널리 쓰이지 못했다.

3.8.4. DirectX 9.0c(2004년)

  • 주요 특징: 셰이더 모델 3.0 적용, 지오메트리 인스턴싱, 부동소수점 실수형 GPGPU의 완벽 지원, XInput 포함, XBOX 360 한정 XAudio 포함
  • 기본 지원 OS: Windows XP SP 2, Windows Server 2003 R2, Xbox 360
  • 사용 가능 OS: Windows 98~
  • 기본 채택된 그래픽 하드웨어:
    • NVIDIA GeForce 6, 7 시리즈(2004~2006년)
    • ATI Radeon X1000 시리즈(2005~2007년)
    • intel GMA 950, 3000, X3000, 3100(2005~2007년)
  • 주로 채택된 시기: 2005~2020년

2004년 8월 6일에 발표된 DirectX 9.0/9.0a/9.0b의 개선판. 이름이 9.0 계열의 연장선이라 큰 변경점은 없어보일지라도 9.0이 맞나 싶을 정도로 새로운 기술들이 대거 추가되었다. 셰이더 모델 3.0으로 업그레이드 되었고 GPGPU 등의 새로운 기능들이 추가되었으며 후기에는 디스플레이스먼트 맵핑이 추가 지원되었지만 일부 새 기능들은 당시 기술력으로는 프로그래밍하기가 어려워서 잘 활용하지 않는 기능으로 전락해버렸다. 그래도 기존 구버전과 하위 호환성을 유지하면서 큰 발전을 보여줬기 때문에 2005년 11월에 출시된 콘솔 게임기인 Xbox 360에 적용[15]되었고 수많은 해외 개발사들은 물론 국내 개발사들까지 오랫동안 채택된 버전이 되었다. 2020년까지만 해도 국내 PC 온라인 게임에서 많이 사용되었다. 예를 들면 2014년 12월에 나온 클로저스, 2015년 7월에 나온 메이플스토리2, 2016년 7월에 나온 서든어택2, 2019년 1월에 나온 아스텔리아, 2018년 11월에 오픈 베타 서비스 시작되어 2019년 12월에 겨우 정식 서비스로 돌입한 로스트아크까지도 DirectX 9.0c를 사용했다. 다만 로스트아크의 경우 2021년 12월 4주차 업데이트로 DirectX 11이 추가되면서 9, 11 병행 지원으로 변경되었고, 2023년 1월 18일에 DirectX 9.0c 지원이 완전히 종료되어 현재는 DirectX 11만 지원한다. 클로저스도 2022년 9월 22일 업데이트로 DirectX 11로 변경되었다. 서든어택2 아스텔리아는 서비스를 종료했으며, 메이플스토리2는 거의 서버만 유지하는 수준이다.

하지만 이러한 현상이 지금 시점에서는 오히려 발목을 잡고 있는데 훗날에 나온 버전들보다 프로그래밍 난이도가 쉬우면서 굳이 새로운 버전이 아니라도 그럭저럭 괜찮은 퀄리티를 뽑을 수 있다는 이유로 9.0c 버전을 지나치게 붙잡기에 이르렀다. 결국 세월이 흐르면서 유저들의 눈높이가 높아짐에 따라 게임 개발사들 간의 경쟁은 계속되면서 더 화려하고 사실적인 퀄리티를 구현하려다 보니 주어진 하드웨어의 성능으로는 오버헤드가 자주 발생하게 되었는데 이는 9.0c의 모든 기능을 최대한 활용하기엔 부족한 성능의 자원이었다. 그래서 9.0c의 모든 기능을 전부 활용한 게임은 사실상 거의 없었고 한동안 반쪽짜리 9.0c 게임으로 이어졌다. 그래도 몇 년 동안 9.0c 관련 마이너 업데이트가 꾸준히 진행되었고 XP의 득세와 함께 노하우는 나날이 쌓여갔지만 태생적인 특성이 바뀌는건 아니었기 때문에 9.0c 최신 업데이트 버전으로 현세대 수준의 퀄리티와 자원(그래픽 카드) 최적화를 뽑기가 어려운 낡은 기술인 것은 변함이 없다.

일단 이 기술의 태생이 XP 시절 기술이기에 렌더링에 듀얼 스레드밖에 사용하지 못한다. 사용을 하는 것은 DirectX 9.0c의 편법을 써서 어떻게든 손을 본 것이라고 보면 된다.[16] 그나마도 스레드를 효율적으로 할당하지 않기 때문에 싱글 스레드만 사용하는 것보다 성능이 딱히 좋지도 않다. 거기다가 VRAM을 4GB까지밖에 못 썼던 적도 있었다.[17]

다만 잘못 알려진 부분도 있는데, 대표적으로 렌더링과 관련 없이 독립적으로 돌아가는 물리 연산, 게임 로직, 네트워킹 등 또한 싱글스레드로 제한된다는 오해가 있다. 그러나 Direct3D는 그래픽과 관련된 부분에서만 영향을 미칠 뿐이며, 그 외의 파트는 아무 상관도 없다. 그냥 싱글 스레드로 동작하는 게임들은 그냥 기술력 부족으로 스레드 프로그래밍이 빈약해서 그런 것이다. 꼭 DirectX 9라서 멀티 스레드를 활용하지 못하는 것은 아니며, 실제로 DirectX 9 기반 게임 중에도 멀티 스레드를 지원하는 게임들이 있다. 이건 DirectX 9 이후여도 마찬가지.

현재 이 기술의 가장 큰 문제는 그래픽 대비 요구 사양이 매우 높다는 것이다. 국내 게임들은 구린 게임 엔진이나 개발력에 DirectX 9.0c SDK라는 낡은 개발 도구까지 얹어서 발적화가 나타난 사례가 많다. 예시로 가성비 있게 나온 최신 그래픽 카드이지만 국산 온라인 게임 유저들에게는 추천하지 않는 RX 6000 시리즈 인텔 Arc가 있다. 성능 저하가 심한 것은 물론이고, 드라이버 버전이 맞지 않으면 게임 도중 그래픽이 깨지거나 이런저런 오류가 발생하게 된다. 특히 인텔 Arc의 경우 실행조차 안 되는 게임이 있다. NVIDIA는 그나마 문제가 덜한 편이라 대부분의 국내 게이머들은 지포스를 선호하게 된다.

해당 버전까지 3dfx Voodoo 1, 2같은 외장 그래픽 카드가 있으면 디스플레이 1, 디스플레이 2로 표시된다.

NEC PC-9801을 지원하는 마지막 버전이다.

3.8.5. Direct3D 9Ex

Windows Vista 부터 사용 가능한 Direct3D 9의 확장.
기능은 Direct3D 9와 동일하지만 DXGI 의 일부 기능을 사용할 수 있고 그 덕분에 Windows Vista부터 추가된 DWM를 더 잘 지원해 플립 모델을 지정하는것이 가능하며, 창모드 또는 전체 창 모드와 같이 DWM내의 HWND의 서페이스를 사용하는 경우 오버헤드를 감소시켜 인풋렉을 줄일 수 있는 장점이 있다.

9Ex이전의 경우 D3D9의 서페이스는 창의 HWND를 직접 사용하기 때문에 UAC의 안전 스크린(화면이 어둡게 변하는), 모니터 연결 해제, Alt-Tab등과 같이 HWND에 대한 상태가 변경될 때 디바이스의 컨텍스트가 풀려 그 이후 프로그램에서 이에 대한 재초기화를 하지 않으면 프로그램이 튕기거나 멈출수 있는 문제가 있으나 D3D9Ex의 경우 창에 직접 서페이스를 그리는 것이 아니라 별도의 서페이스버퍼에 렌더 후 렌더된 비트맵을 DWM이 가져와 최종적으로 Composition을 하는 방식이기 때문에 위와 같은 상황에서도 디바이스 컨텍스트를 잃지 않아 더 안정적이며 Flip 체인을 사용할 수 있어 더 나은 성능을 보여준다. Direct3D 9Ex improvements

3.9. DirectX 10

3.9.1. DirectX 10.0(2007년)

  • 주요 특징 : 셰이더 모델 4.0 적용, 지오메트리 셰이더가 추가 및 포함된 통합 셰이더로 개편, 오버헤드 감소, 8K 텍스처 지원, 지오메트리 인스턴싱 2.0 적용, DXGI 1.0 포함, WDDM 1.0 지원.
  • 기본 지원 OS : Windows Vista
  • 사용 가능 OS : Windows Vista~
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce 8, 9 시리즈, GTX 295 ~ GTS 250(2006~2009년)
    • AMD Radeon HD 2000, 3000 시리즈(2007~2008년)
    • intel GMA X3500, 4500, X4500, X4500HD(2007~2009년), HD Graphics( 클락데일)(2010년)
  • 주로 채택된 시기 : 2007년~현재[18]

2006년 11월 30일 9.0c의 마이너 업데이트만 2년 넘게 진행한 끝에 기업용 Windows Vista와 함께 등장한 버전. 3D 그래픽 사용시 그래픽 메모리 가상화를 이용한 오버헤드 감소 효과로 9.0c보다 더 효율적인 그래픽 처리를 보여줬지만 2달 후인 2007년 1월 30일 일반 가정용 Windows Vista가 출시되고 2007년 2월 2일 DirectX 10의 정식 버전이자 실체라고 볼 수 있는 DirectX SDK(February 2007)가 공개되면서 뚜껑을 열고 보니 Vista 전용 버전으로 제한되고 있었다.

초기엔 MS의 Vista 판매 전략이 아닌가라는 논의가 있었지만 윈도우 커널을 5.x에서 6.0버전으로 갈아엎으면서 윈도우 내에 설치된 각종 드라이버들을 통합적으로 제어해주는 기존 XDDM(Windows XP Display Driver Model)이 WDDM(Windows Display Driver Model) 1.0으로 탈바꿈했고 그래픽 메모리 가상화라는 기능이 10.0버전에서 필수로 대두되자 Windows XP는 커널 자체에서 이 기능을 지원을 하지 못했다.

또한 DXGI가 도입되면서 D3D9(Ex)처럼 CreateDevice() 인터페이스를 생성한다고 실행되는것이 아니라 DXGI를 통해야 사용이 가능하게 변경되었는데, 이 덕분에 기존 D3D는 모니터가 연결된 장치만 렌더링 디바이스를 설정하는것이 가능한 것에 비해 출력장치가 연결되지 않은 그래픽카드를 통해 렌더링 하는것이 가능해졌다.

이 때문에 몇몇 군데에서 10.0버전을 XP로 포팅한다는 루머까지 퍼졌지만 포팅 성공에 대해서는 전부 무소식이었다. 뭐 그래도 OpenGL을 이용해서 XP에서 10버전 맛보기라도 어느 정도 가능하긴 하지만...[19]

오버헤드 문제 해결을 위해 호환성을 완전히 포기한 것은 둘째치고 9.0c 대비 압도적인 최적화 수준이었다면 게임 개발사들이 좀더 빨리 도입했을지도 모르지만 Windows Vista 초기 당시의 높은 요구 사양과 발적화 문제가 DirectX 10의 장점을 많이 깎아먹었다. 거기다 9.0c와는 전혀 다른 내용물에 이름만 같은 DirectX를 새로 배워야 했기에 널리 사용되지 못했다.

PLAYERUNKNOWN'S BATTLEGROUNDS가 이 버전의 DirectX를 최소 사양으로 요구하고 있다.

해당 버전부터 nVIDIA® OPTIMUS™ TECHROLOGY가 적용되어있어도 주 디스플레이만 표시된다.

9까지는 채널당 8비트의 포맷만 지원했지만[20] 10부터는 10비트 (10비트 정수형, Packed Pixel 크기는 R8G8B8A8 과 동일한 32비트)와 16비트 (16비트 부동소수점, 픽셀당 64비트)의 딥 컬러 포맷을 지원하므로 이 버전부터 HDR 디스플레이 지원이 가능하다.

3.9.2. DirectX 10.1(2008년)

  • 주요 특징 : 셰이더 모델 4.1 적용, 3D 성능 개선, 확장 MSAA 4x 지원, XAudio 2 추가 지원[21]
  • 기본 지원 OS : Windows Vista SP 1, Windows Server 2008
  • 사용 가능 OS : Windows Vista SP 1~
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon HD 4000 시리즈(2008~2009년)
    • NVIDIA GeForce G 210, GT 220, GT 240( GeForce 200 하위 시리즈)(2009년)
    • HD Graphics[22] 2000, 3000( 샌디브릿지)(2011년)
  • 주로 채택된 시기 : 2008년~현재[23]

2008년 2월 4일 Windows Vista 서비스 팩 1과 함께 DirectX 10.1이 정식 발표되었다. 확장 MSAA 4x의 추가, 3D 그래픽뿐만 아니라 2D 그래픽 사용시에도 그래픽 메모리 가상화를 추가 지원하게 되면서 기존 10.0버전 대비 성능 효율이 개선되었다. 덕분에 사실상 DirectX 10의 완성판이라고 봐도 좋을 정도. 10.0 버전 시절에 비하면 그나마 낫지만 이미 Vista 초기의 안 좋은 첫인상으로 굳어진 뒤라 일부 메이저급 개발 업체들만 사용한 비인기 버전인건 여전했다.

그런 이유로 지금은 훗날에 등장한 DirectX 11의 그늘에 가려져 있는 신세지만 11 버전의 하위호환으로써 존속되고 있고 이래봬도 2D 그래픽 라이브러리인 Direct2D의 하드웨어 풀옵션 사양이다.

오버워치가 이 버전의 DirectX를 최소 사양으로 요구하고 있다. DirectX 10.0까지 지원하는 그래픽은 아예 실행되지 않는다. 오버워치 자체는 DirectX 11부터 실행되는데 DirectX 10.1 하위호환 덕분에 DirectX 10.1에서도 구동이 가능하다.

3.10. DirectX 11

3.10.1. DirectX 11.0(2009년)

  • 주요 특징 : 셰이더 모델 5.0 적용, 테셀레이션 구현을 위해 헐 셰이더와 도메인 셰이더 추가, GPGPU 컴퓨팅을 위한 컴퓨트 셰이더 추가, Direct2D/DirectWrite 1.0 포함, DXGI 1.1 포함, DirectCompute 포함, XAudio 2.7 포함, 16K 텍스처 지원, 멀티코어 프로세싱 강화, 디퍼트 디바이스 컨텍스트 추가, WDDM 1.1 지원.
  • 기본 지원 OS : Windows 7, Windows Server 2008 R2
  • 사용 가능 OS : Windows Vista SP 2~
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon HD 5000, 6000 시리즈, 7990~7850, 7770~7730(2009~2012년)
    • NVIDIA GeForce 400, 500, 600, 700 시리즈, GTX TITAN, TITAN BLACK, TITAN Z(2010~2014년)
    • HD Graphics[24] 2500, 4000( 아이비브릿지)(2012년)
  • 주로 채택된 시기 : 2009년~현재

2009년 10월 22일 Windows 7과 함께 DirectX 11.0이 정식 공개되었다. (이후 Windows Vista도 플랫폼 업데이트를 통해 추가 지원되었다.) ATI의 신규 HD 5000 시리즈가 이를 지원하며 초창기 지원게임 중 하나인 더트 2도 Direct3D 11 환경에서 조금 더 높은 수준의 그래픽을 보여준다. 또한 2차원 전용 가속 API인 Direct2D와 텍스트 글꼴 표시에 관여하는 DirectWrite를 정식으로 지원하면서 2D 성능이 향상되었으나 DirectX 10.1을 지원하는 그래픽 하드웨어와 Vista 이상만 제대로 사용 가능하다는 미묘한 포지션 때문에 그다지 주목받지 못했다(...)[25] 덕분에 DirectDraw를 사용한 옛 프로그램들은 Windows 8 이후와의 호환성이 매우 좋지 않은 경우가 많다.[26] 때문에 DXGL이라고[27] 부르는 툴을 이용해서 7.0 버전대까지의 구현을 모두 OpenGL로 변환해서 돌리는게 훨씬 나을 정도. (최신 버전은 여기서 받을 수 있다. 시스템 요구 사항은 여기를 참조[28]. 비슷하게 DirectDraw Compatibility Tool이란 것도 있다. 구글 번역(영어)으로 보기)

DirectX보다는 OpenGL을 더 미는 경향이 있었던 지포스와는 달리 DirectX를 더 우선시하고 표준을 준수하며 함께 길을 걸어온 라데온은 DirectX 11에서 라데온 9700, 9500의 재림이라 할 정도로 제2의 전성기를 맞이했다. 2010년 10월에는 DirectX 11을 지원하는 그래픽 카드 시장의 90%를 라데온이 점유하기도 했고 2011년 4월에도 70% 가까이 차지하고 있었다. NVIDIA가 AMD보다 7개월 늦게 내놓은 것도 영향이 있는 듯하다. 지포스 GTX 480, 470, 465이 연달아 망하고 GTX 460부터 본격적으로 경쟁에 돌입했으므로 7개월이 아닌 사실상 10개월이나 늦게 내놓은 셈이지만.

DirectX 12가 나온지도 몇 년 넘게 지난 지금도 상당히 많은 게임들이 이 버전으로 개발되며 과거의 DirectX 9.0처럼 사실상 기준 버전으로 취급하고 있다. 기술적인 한계에 도달한 DirectX 9.0c에서 더 나은 최적화, 퍼포먼스, 퀄리티를 위해 Windows XP 지원을 과감하게 포기한 원인도 있지만 대부분은 2014년 4월에 Windows XP의 연장 지원 종료와 맞물린 것이 원인. 2011년 11월에 발매된 배틀필드 3가 Windows Vista를 최소 지원 OS으로 요구하면서 DirectX 10을 최소 지원 버전으로 올렸고 2013년 2월 크라이시스 3를 기점으로 DirectX 10이 아닌 DirectX 11 전용으로 요구하기 시작했으며 2013년 11월 콜 오브 듀티: 고스트를 기점으로 64비트 OS 전용을 요구하는 것으로 상향 평준화되고 있었지만 그래도 Windows XP의 연장 지원 종료 직전까진 DirectX 9.0c를 최소 버전으로 Windows XP를 최소 지원 OS로 요구하는 게임들이 많았다.

하지만 이보다 더 최신 버전으로는 잘 개발되지 않는 이유는 DirectX 11.1을 기본 지원하는 Windows 8과 DirectX 11.2를 기본 지원하는 Windows 8.1이 여러 문제점 때문에 크게 보급되지 않았고 DirectX 12의 경우는 이를 지원하는 Windows 10이 Windows 7의 점유율을 역전시킨 이후에도 DirectX 10과 11만큼의 완벽 호환성이 아닌데다[29][30] 웬만한 실력을 지닌 프로그래머조차 DirectX 11보다 더 나은 퍼포먼스를 뽑기 어려울 정도로 개발 난이도가 높아 역시 크게 보급되고 있지 않다.

3.10.2. DirectX 11.1(2012년)

  • 주요 특징 : Feature Level 11_1 지원, 스테레오스코픽 렌더링을 위한 쿼드 버퍼링 추가, 2D 성능 대폭 개선, Direct2D/DirectWrite 1.1 포함, DXGI 1.2 포함, XAudio 2.8 포함, DirectXMath 3.03 포함, WDDM 1.2 지원.
  • 기본 지원 OS : Windows 8, Windows Server 2012
  • 사용 가능 OS : Windows 7 SP 1~
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon HD 7790(2013년)
    • HD Graphics[31] 4200~5000, Iris 5100, Iris Pro 5200( 하스웰) (2013년)
  • 주로 채택된 시기 : 2013년~현재(실질적으로 채택된 게임은 별로 없다.)

2012년 10월 26일 Windows 8과 함께 DirectX 11.1이 정식 발표되었다. Windows 7 플랫폼 업데이트를 통해 부분 지원되지만 Windows Vista는 DirectX 11.0을 끝으로 더이상 지원되지 않는다. 또한 DirectX SDK가 2010년 6월 버전을 끝으로 더이상 업데이트되지 않고 있는 중이라 이 버전부터는 개발하는 방식이 DirectX SDK를 통한 개발에서 Windows 8.0 SDK를 통한 개발로 바뀌었다. Windows 7에서 개발하려면 DirectX SDK의 다운로드, 설치, 설정 과정처럼 Windows 8.0 SDK를 구해서 설치하고 설정해야 한다.

특징은 3D Vision[32] 강화, 모바일 강화, XNAMath는 DirectXMath라는 이름으로 변경됨과 동시에 2.05에서 3.03으로 업데이트되었으며 Direct2D는 1.1버전으로 업그레이드되어 2D 처리 성능이 향상되었다.(11.0버전의 Direct2D 1.0버전보다 처리 효율이 5배나 뻥튀기된다!) 또한 Direct3D(11 이상)에만 다룰 수 있었던 멀티 스레드 기능이 Direct2D에도 적용되어 이를 이용해서 멀티코어 지원 2D 게임을 개발하는게 가능해졌다.

GCN 아키텍처 기반의 라데온 시리즈만 완벽하게 지원하고 페르미 아키텍처와 케플러 아키텍처 기반의 지포스 시리즈는 표기상으로만 11.1 지원이지 실제로는 Feature Level 11_0까지만 지원하기 때문에 Direct3D 11.1의 모든 기능을 지원하지 못하고 있다. 이로 인한 지원 파편화는 이 글을 참조. 하스웰 아키텍처 기반 내장 그래픽의 경우는 Feature Level 11_1까지 지원하기 때문에 11.1을 지원하기는 하지만 2D 그래픽 성능이 무난할지라도 3D 그래픽 성능이 영 좋지 않은 터라(...)[33].

3.10.3. DirectX 11.2(2013년)

  • 주요 특징 : Tiled Resources 옵션 추가, Direct2D/DirectWrite 1.2 포함, DXGI 1.3 포함, DirectXMath 3.06 포함, WDDM 1.3 지원.
  • 기본 지원 OS : Windows 8.1, Windows Server 2012 R2, Xbox One
  • 사용 가능 OS : Windows 8.1~, XBOX ONE
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon R9 290X, 290, 285, 295X2, R7 260X, 260(2013~2014년)
    • HD Graphics[34] 5300~6000, 400~405, Iris 6100, Iris Pro 6200( 브로드웰)(2014년)
  • 주로 채택된 시기 : 2014년~현재 (실질적으로 채택된 게임은 별로 없다.)

2013년 10월 17일 Windows 8.1과 함께 DirectX 11.2가 공개되었는데 1달 뒤에 출시된 콘솔 게임기인 엑스박스 원에서도 지원되었다. 'Tiled Resources'라는 새로운 기능을 통해 GPU의 추가적인 로드를 발생시키지 않으면서도 고해상도 텍스처를 보다 역동성있게 배치할 수 있게 되었다. DirectXMath 3.06으로 업데이트되었고 Direct2D는 1.2 버전으로 업그레이드되면서 2D 지오메트리 구현, DDS(DirectDraw Source) 파일 지원, 새로운 이펙트, 렌더링 우선 순위 설정, JPEG YCbCr 이미지 지원 등 각종 여러 기능들이 추가되었다. DX 11.2 출시일 기준 시장에 나온 제품중에선 라데온 Rx 200 시리즈만 이를 제대로 지원했다. 이후 등장한 그래픽 카드들은 다들 지원한다.

3.10.4. DirectX 11.3(2015년)

  • 주요 특징 : 셰이더 모델 5.1 적용, Direct2D/DirectWrite 1.3 포함, DXGI 1.4 포함, XAudio 2.9 포함, DirectXMath 3.07 포함, 공유 메모리 접근 기능 지원, WDDM 2.0 지원.
  • 기본 지원 OS : Windows 10
  • 사용 가능 OS : Windows 10~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce 900 시리즈, GTX TITAN X(2014~2015년)
    • AMD Radeon Rx 300 시리즈, R9 Fury X, Fury, Nano(2015년)
    • HD Graphics 510~530, Iris 540~550( 스카이레이크)(2015년)
  • 주로 채택된 시기 : (불명)

셰이더 모델 5.1로 업그레이드되었고 공유 메모리 접근 기능이 추가되었으며 DirectXMath가 3.07로 업데이트되었다. Direct2D는 1.3 버전으로 업그레이드되먼서 기능 위주로 추가되었던 1.2 버전과는 달리 이번엔 벡터 방식의 잉크 셰이딩이나 메쉬 방식의 그레이디언트 등 새로운 기능은 물론 복잡한 셰이딩 단계가 간략화하여 성능 효율까지 대폭 향상되었다. DirectX 12와 함께 출시된 버전으로 저수준 API를 다루기 어려운 DirectX 12의 특성을 감안하여 고수준 API에서도 DirectX 12의 추가 기능을 사용하게 하기 위한 버전이라고 한다. 한 줄로 요약하자면 DirectX 12의 고수준 API 버전인 셈.

DirectX 12가 제공하는 저수준 API를 잘 사용하면 기존 DirectX 11보다 더 높은 성능 효율을 뽑을 수 있지만 잘못 사용하면 오히려 DirectX 11보다 떨어지는 효율을 보여줄 수 있는 위험성을 가지고 있다. 이 때문에 퍼포먼스 향상이라고 마케팅한 MS조차 어지간한 숙련 프로그래머가 아니라면 DirectX 12의 저수준 API보단 DirectX 12의 기능을 어느 정도 사용할 수 있는 DirectX 11.3/11.4의 고수준 API를 사용하라고 권장하고 있다.

단, 셰이더 모델 6.0을 지원하지 않는다. 하드웨어 요구 사양인 Direct3D Feature Level 12_0을 지원하더라도 셰이더 모델 5.1까지만 사용할 수 있으며 셰이더 모델 6.0을 구현하려면 반드시 Direct3D 12를 사용해야 한다.

3.10.5. DirectX 11.4(Version 1511)(2015년)

  • 주요 특징 : DXGI 1.5 포함, DirectXMath 3.08 포함, 멀티스레드 보호 기능 강화, 확장된 NV12 텍스처 지원
  • 기본 지원 OS : Windows 10 버전 1511
  • 사용 가능 OS : Windows 10 버전 1511~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce GTX 1080, 1070, 1060(2016년)
    • AMD Radeon RX 480(2016년)
    • HD Graphics 500~505, Iris Pro 580( 스카이레이크 기반)(2016년)
  • 주로 채택된 시기 : (불명)

3.10.6. DirectX 11.4(Version 1607)(2016년)

  • 주요 특징 : DirectXMath 3.09 포함, UHD 환경을 위한 HDR10 포맷 지원, WDDM 2.1 지원
  • 기본 지원 OS : Windows 10 버전 1607
  • 사용 가능 OS : Windows 10 버전 1607~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce GTX 1050, 1050 Ti, 1080 Ti, (GP102 GPU 기반) TITAN X, Xp(2016~2017년)
    • AMD Radeon RX 470, 460, Pro Duo(2016년)
    • HD Graphics 610~630, Iris Plus 640~650( 카비레이크 기반)(2016~2017년)
  • 주로 채택된 시기 : (불명)

3.10.7. DirectX 11.4(Version 1703)(2017년)

  • 주요 특징 : DXGI 1.6 포함, DirectXMath 3.10 포함, WDDM 2.2 지원.
  • 기본 지원 OS : Windows 10 버전 1703
  • 사용 가능 OS : Windows 10 버전 1703~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon RX 500, VEGA 시리즈, Pro Duo(듀얼 Polaris 20 GPU)(2017년)
    • NVIDIA Geforce GT 1030(2017년)
    • Intel UHD Graphics 630, 620(카비레이크-R, 커피레이크)(2017년)
  • 주로 채택된 시기 : (불명)

3.10.8. DirectX 11.4(Version 1709)(2017년)

  • 주요 특징 : DirectXMath 3.11 포함, WDDM 2.3 지원.
  • 기본 지원 OS : Windows 10 버전 1709
  • 사용 가능 OS : Windows 10 버전 1709~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon RX VEGA 11, 10, VEGA 8, 6, 3(2017~2018년)
    • NVIDIA GeForce GTX 1070 Ti, TITAN V(2017년)
    • Intel UHD Graphics 610, Iris Plus 655( 커피레이크)(2018년)
  • 주로 채택된 시기 : (불명)

3.10.9. DirectX 11.4(Version 1803)(2018년)

  • 주요 특징 : WDDM 2.4 지원
  • 기본 지원 OS : Windows 10 버전 1803
  • 사용 가능 OS : Windows 10 버전 1803~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon RX 590(2018년)
    • NVIDIA GeForce RTX 2080 Ti, 2080, 2070(2018년)
  • 주로 채택된 시기 : (불명)

3.10.10. DirectX 11.4(Version 1809)(2018년)

  • 주요 특징 : DirectXMath 3.13 포함,[35] WDDM 2.5 지원
  • 기본 지원 OS : Windows 10 버전 1809
  • 사용 가능 OS : Windows 10 버전 1809~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon VII(2019년)
    • NVIDIA TITAN RTX, GeForce RTX 2060, GTX 1660 Ti, 1660, 1650(2019년)
  • 주로 채택된 시기 : (불명)

3.10.11. DirectX 11.4(Version 1903)(2019년)

  • 주요 특징 : WDDM 2.6 지원
  • 기본 지원 OS : Windows 10 버전 1903
  • 사용 가능 OS : Windows 10 버전 1903~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon RX 5700 XT, 5700, 5500 XT(2019년)
    • NVIDIA GeForce RTX 2080 SUPER, 2070 SUPER, 2060 SUPER, GTX 1660 SUPER, 1650 SUPER(2019년)
    • Intel Iris Plus Graphics, UHD Graphics( 아이스레이크, 코멧레이크)(2019년)
  • 주로 채택된 시기 : (불명)

3.11. DirectX 12

3.11.1. DirectX 12(Version 1507)(2015년)

  • 주요 특징 : DirectX 11.3의 기능 포함, WDDM 2.0 호환, 이기종 다중 GPU 지원, 비동기 컴퓨트 정식 지원, 오버헤드 감소
  • 기본 지원 OS : Windows 10
  • 사용 가능 OS : Windows 10~, XBOX ONE 업데이트 이후부터, (D3D12On7로 개발한 경우) Windows 7 포함[36]
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce 900 시리즈, GTX TITAN X(2014~2015년)
    • AMD Radeon Rx 300 시리즈, R9 Fury X, Fury, Nano(2015년)
    • HD Graphics 510~530, Iris 540~550( 스카이레이크)(2015년)
  • 주로 채택된 시기 : 2015년~현재

2015년 7월 29일 Windows 10과 함께 DirectX 12가 정식으로 발표되었다. CPU 멀티쓰레드 능력 상승과 11 버전과 대비 CPU 사용 효율이 50% 개선되었으며 엔비디아의 페르미( GeForce 400 시리즈)[37] 이상, AMD의 GCN( 라데온 HD 7900~7700 시리즈) 이상[38], 인텔의 스카이레이크 CPU 내장 그래픽 이상[39]이 지원되고 있다. 다만 이 때문에 DirectX 11부터 시작된 기능 수준 지원의 파편화가 더 심해졌다. 자세한 것은 이 글 참조. 이 때문에 feature checker라는 프로그램도 나왔다. 컴덕들 사이에서 GPU 스펙 확인 툴의 바이블 격인 GPU-Z도 0.8.6 버전부터 DirectX 지원 정보가 Feature Level을 보여주는 식으로 바뀌었다.[40]

맨틀처럼 하드웨어 직접 접근을 표방한다. 비동기 컴퓨트[41]를 본격적으로 지원하고 이기종 다중 GPU 환경을 지원한다. 즉 GPU 내부의 하드웨어 자원을 더 효율적으로 활용할 뿐만 아니라 서로 다른 제품의 여러 GPU들을 동시에 활용할 수 있게 되어 CPU에 내장된 GPU + 라데온 GPU + 엔비디아 GPU로 동시에 처리할 수 있게 된 것. 지금까지 크로스파이어, SLI, 그리고 지금은 막혀버린 하이브리드 피직스를 사용하는 방식의 멀티 GPU 환경은 있지만 이는 여러가지 제약[42]을 가지고 있고 내장 GPU를 활용하지 못한다는 단점이 있다.[43] 아무튼 내장 GPU의 성능도 조금씩 높아져가는 현재로서는 이를 활용할 수 있으면서 타사의 그래픽 카드와도 연산 호환성을 가진다는 점은 꽤 큰 장점이라고 할 수 있겠다.

하지만 현재 공개된 이기종 외장 그래픽 + 내장 그래픽 통합 데모는 외장 그래픽카드에서 렌더링한 화면을 도로 내장으로 복사해서 후처리를 하는 방식이라 초당 프레임 수는 올라도 하나의 장면을 렌더링 하는데 걸리는 시간(=지연 시간= 인풋랙)은 오히려 훨씬 길어진다. DirectX 12 Multiadapter 설명 5번째 댓글에서 계산을 해놨으니 관심있으면 참고하자.

이러한 높은 개발 난이도 때문인지 이기종 멀티 GPU, 내장그래픽 후처리 모두 아무도 활용하지 않는 분위기로 이어지고 있다(…).

해당 버전부터 다시 외장 그래픽 카드가 표시되기 시작했지만 예전처럼 디스플레이 1/2로 나누진 않고 디스플레이/렌더링으로 표시된다. 주로 NVIDIA Optimus 기술이 적용된 노트북에서 볼 수 있다.

초기 다이렉트12버전에 경우 다이렉트11.3에 기능을 전부 지원하지 않아서 이부분 때문에 다이렉트11을 사용하는 경우가 있었고 특히 메모리 부분에 관리를 개발자가 직접해야 해서 어려웠다고 한다. 그리고 AMD에 경우 다이렉트12 기능에 매우 적극적이어서 드라이버 버전업때마다 문제점해결과 새로운게 많이 추가되었던 반면 엔비디아는 이부분에서 매우 미적지근할 정도로 지원하지 않아 다이렉트12에서 발생하는 문제를 해결 안하거나 최적화도 늦었다고 한다. 게임개발시 다이렉트12에 최적화를 잘못해버리면 다이렉트11보다 더 느린 상황도 벌어졌었다.

참고로 이 버전부터 독립 실행형(stand alone) 설치 패키지를 제공하지 않는다. 윈도우 업데이트 기능을 활용해서만 설치가 가능하다.

3.11.2. DirectX 12(Version 1511)(2015년)

  • 주요 특징 : Direct3D 11.4(Version 1511)의 기능 포함
  • 기본 지원 OS : Windows 10 버전 1511
  • 사용 가능 OS : Windows 10 버전 1511~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce GTX 1080, 1070, 1060(2016년)
    • AMD Radeon RX 480(2016년)
    • HD Graphics 500~505, Iris Pro 580( 스카이레이크)(2016년)
  • 주로 채택된 시기 : (불명)

3.11.3. DirectX 12(Version 1607)(2016년)

  • 주요 특징 : Direct3D 11.4(Version 1607)의 기능 포함, 셰이더 모델 6.0 추가 적용, DXIL 1.0 추가 지원, 셰이더를 구동하기 위한 새로운 컴파일러 지원, WDDM 2.1 지원
  • 기본 지원 OS : Windows 10 버전 1607
  • 사용 가능 OS : Windows 10 버전 1607~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • NVIDIA GeForce GTX 1050, 1050 Ti, 1080 Ti, (GP102 기반) TITAN X, Xp(2016~2017년)
    • AMD Radeon RX 470, 460, Pro Duo(2016년)
    • HD Graphics 610~630, Iris Plus 640~650( 카비레이크 기반)(2016~2017년)
  • 주로 채택된 시기 : (불명)

2016년 8월 2일 Windows 10 버전 1607 대규모 업데이트와 함께 발표되었다. 업데이트된 DirectX 11.4의 기능이 포함되어 있지만 Build 2016에서 소개되었던 셰이더 모델 6.0은 아직 완성되지 않아 Windows 10 Anniversary Update SDK에 반영되지 못했다. 다행히 2017년 4월 Creators Update 이후 기존 Anniversary Update 빌드 버전에도 셰이더 모델 6.0과 새로운 컴파일러 DXIL이 추가 지원되었다.

3.11.4. DirectX 12(Version 1703)(2017년)

  • 주요 특징 : Direct3D 11.4(Version 1703)의 기능 포함, 셰이더 모델 6.0 적용, DXIL 1.0 지원, WDDM 2.2 지원
  • 기본 지원 OS : Windows 10 버전 1703
  • 사용 가능 OS : Windows 10 버전 1703~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon RX 500, VEGA 시리즈, Pro Duo(듀얼 Polaris 20 GPU)(2017년)
    • NVIDIA GeForce GT 1030(2017년)
    • Intel UHD Graphics 630, 620(카비레이크-R, 커피레이크)(2017년)
  • 주로 채택된 시기 : (불명)

2016년 3월 Build 2016에서 소개되었던 셰이더 모델 6.0이 완성되었고 이를 구동하기 위한 새로운 컴파일러가 추가되었다. 셰이더 모델 6.0부터는 LLVM IR 3.7 버전을 기반으로 개발된 DXIL(DirectX Intermediate Language)로 컴파일되며 셰이더 모델 5.1까지 사용된 기존의 HLSL 컴파일러보다 더 나은 성능을 보여줄 수 있다고 한다.

3.11.5. DirectX 12(Version 1709)(2017년)

  • 주요 특징 : Direct3D 11.4(Version 1709)의 기능 포함, 셰이더 모델 6.1 적용, DXIL 1.1 지원, WDDM 2.3 지원
  • 기본 지원 OS : Windows 10 버전 1709
  • 사용 가능 OS : Windows 10 버전 1709~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon RX VEGA 11, 10, VEGA 8, 6, 3(2017~2018년)
    • NVIDIA GeForce GTX 1070 Ti, TITAN V(2017년)
    • Intel UHD Graphics 610, Iris Plus 655( 커피레이크)(2018년)
  • 주로 채택된 시기 : (불명)

3.11.6. DirectX 12(Version 1803)(2018년)

  • 주요 특징 : Direct3D 11.4(Version 1803)의 기능 포함, 셰이더 모델 6.2 적용, WDDM 2.4 지원
  • 기본 지원 OS : Windows 10 버전 1803
  • 사용 가능 OS : Windows 10 버전 1803~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon RX 590(2018년)
    • NVIDIA GeForce RTX 2080 Ti, 2080, 2070(2018년)
  • 주로 채택된 시기 : (불명)

3.11.7. DirectX 12(Version 1809)(2018년)

  • 주요 특징 : Direct3D 11.4(Version 1809)의 기능 포함, 셰이더 모델 6.3 적용, DirectX Raytracing 포함, WDDM 2.5 지원
  • 기본 지원 OS : Windows 10 버전 1809
  • 사용 가능 OS : Windows 10 버전 1809~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon VII(2019년)
    • NVIDIA TITAN RTX, GeForce RTX 2060, GTX 1660 Ti, 1660, 1650(2019년)
  • 주로 채택된 시기 : (불명)

3.11.8. DirectX 12(Version 1903)(2019년)

  • 주요 특징 : Direct3D 11.4(Version 1903)의 기능 포함, 셰이더 모델 6.4 적용, DirectML 포함, WDDM 2.6 지원
  • 기본 지원 OS : Windows 10 버전 1903
  • 사용 가능 OS : Windows 10 버전 1903~, XBOX ONE 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon RX 5700 XT, 5700, 5500 XT(2019년)
    • NVIDIA GeForce RTX 2080 SUPER, 2070 SUPER, 2060 SUPER, GTX 1660 SUPER, 1650 SUPER(2019년)
    • Intel Iris Plus Graphics, UHD Graphics( 아이스레이크, 코멧레이크)(2019년)
  • 주로 채택된 시기 : (불명)

3.11.9. DirectX 12(Version 2004)(2020년)

  • 주요 특징 : Direct3D 11.4(Version 1903)의 기능 포함, 셰이더 모델 6.4 적용, DirectML 포함, WDDM 2.7 지원
  • 기본 지원 OS : Windows 10 버전 2004
  • 사용 가능 OS : Windows 10 버전 2004~, XBOX ONE, XBOX Series X 업데이트 이후부터
  • 기본 채택된 그래픽 하드웨어 :
    • AMD Radeon RX 5700 XT, 5700, 5500 XT(2019년)
    • NVIDIA GeForce RTX 2080 SUPER, 2070 SUPER, 2060 SUPER, GTX 1660 SUPER, 1650 SUPER(2019년)
    • Intel Iris Plus Graphics, UHD Graphics( 아이스레이크, 코멧레이크)(2019년)
  • 주로 채택된 시기 : (불명)

3.11.10. DirectX 12 Ultimate(2020년)

  • 주요 특징 : Direct3D 11.4(Version 1903)의 기능 포함, 셰이더 모델 6.5 적용, DirectML 포함, WDDM 2.9 지원[44]
  • 기본 지원 OS : Windows 10 버전 20H2, (Agility SDK로 개발한 경우) Windows 10 버전 1909 # Windows 11
  • 기본 채택 그래픽 하드웨어
    • AMD RX 6000 시리즈 #
    • NVIDIA RTX 20 시리즈 이후, GTX 16 시리즈 미지원 #

Feature Level 12.1 뿐만 아니라 레이트레이싱 VRS 등 신기술을 모두 만족해야 하며 Windows의 차세대 파일 입출력 프로토콜 DirectStorage API를 지원하기 위한 최저 조건이다.

3.11.11. DirectX 12_2(2020년)

DX 12_2는 DX12U보다 더욱 광범위하고 많은 요구조건을 포함하고 있어, DX12U보다 조건 충족이 까다롭다. 하지만 DX12U 를 지원하는 카드는 전부 피처레벨 12_2를 지원하고 있는 상황이다. 사실상 마케팅명이냐 피처레벨이냐 정도의 차이. #
  • 주요 특징 : Direct3D 12 피처레벨 12_2, DX12U의 기능 모두 포함.
DirectX 12_2 Minimum 하드웨어 요구사항 기준치
Required Driver Model WDDM 2.0
Shader Model 6.5
Ray Tracing Tier Tier 1.1
Variable shading rate Tier 2
Mesh Shading Tier Tier 1
Sampler Feedback Tier 0.9
Resource Binding Tier Tier 3
Tiled reseources Tier 3
Conservative Rasterization Tier 3
Root Signature Tier 1.1
DepthBoundsTestSupported True
WriteBufferImmediateSupportFlags Direct, Compute, Bundle
MaxGPUVirtualAddressBitsPerResource 40
MaxGPUVirtualAddressBitsPerProcess 40

3.11.12. DirectX 12.2(2021년)

  • 주요 특징 : Direct3D 11.4(Version 1903)의 기능 포함, 셰이더 모델 6.5 적용, DirectStorage[45], WDDM 3.0 지원
  • 기본 지원 OS : Windows 11, Windows 10 버전 21H2, WSL 2 하위 운영체계( 우분투 안드로이드 등 리눅스 기반 운영체제)

4. 버전별 출시일

볼드체가 최신 버전
파일:DirectX 로고.svg 버전별 출시일
버전 출시 일자
1.0 1995년 9월 30일
2.0a 1996년 6월 5일
3.0 1996년 9월 15일
5.0 1997년 8월 4일
5.2 1998년 5월 5일
5.2a 1998년 6월 25일
6.0 1998년 8월 7일
6.1 1999년 2월 3일
6.1a 1999년 5월 5일
7.0 RC1 1999년 9월 22일
7.0 2000년 2월 17일
7.0a 2000년 3월 8일
7.1 2000년 9월 14일
8.0 2000년 11월 12일
8.0a 2001년 2월 5일
8.1 2001년 10월 25일
8.1 RC7 2001년 11월 8일
8.1b 2002년 6월 25일
9.0 2002년 12월 19일
9.0a 2003년 3월 26일
9.0b 2003년 8월 13일
9.0c 2004년 7월 22일
9.0ca 2004년 8월 4일
9.0cb 2004년 8월 6일
10.0 2006년 11월 30일
9.0cc 2006년 12월 8일
10.1 2008년 2월 4일
9.0cd 2008년 10월 27일
10.1a 2009년 4월 28일
11.0 2009년 10월 22일
11.0a 2009년 10월 27일
11.0b 2011년 2월 16일
11.1 2012년 8월 1일
11.2 2013년 10월 18일
11.3 2015년 7월 29일
11.4 2015년 11월 12일
12.0 2015년 7월 29일
12 Ultimate 2019년 12월 11일
12.2 2020년 8월 27일

5. 윈도우 버전별 DirectX 지원 범위[46]

파일:DirectX 로고.svg 윈도우 버전별 지원 범위
Windows 버전 DirectX 버전
Windows 3.x/Windows NT 3.x WinG
Windows 95(Original/OSR1) WinG, 1.0~8.0a
Windows 95(OSR2/OSR2.1) WinG, 2.0~8.0a
Windows 95(OSR2.5) WinG, 5.0~8.0a
Windows NT 4.0 WinG, 1.0~3.0a[47]
Windows 98 WinG, 5.2~9.0c
Windows 98 SE 6.1~9.0c
Windows 2000 7.0~9.0c
Windows Me 7.1~9.0c
Windows XP(RTM/SP1) 8.1~9.0c
Windows XP(SP2/SP3) 9.0c
Windows Server 2003(RTM) 8.1~9.0c
Windows Server 2003(SP1/SP2) 9.0c
Windows XP Professional x64 Edition(SP1/SP2) 9.0c
Windows Server 2003 R2(SP1/SP2) 9.0c
Windows Vista(RTM) 10.0(9.0Ex 포함)
Windows Vista(SP1) 10.1(9.0Ex 포함)
Windows Vista(SP2) 10.1~11.0(9.0Ex 포함)
Windows Server 2008(SP1) 10.1(9.0Ex 포함)
Windows Server 2008(SP2) 10.1~11.0(9.0Ex 포함)
Windows 7(RTM) 11.0(9.0Ex 포함)
Windows 7(SP1) 11.0~11.1(9.0Ex 포함), 12 (D3D12On7 사용 한정[48])
Windows Server 2008 R2(RTM) 11.0(9.0Ex 포함)
Windows Server 2008 R2(SP1) 11.0~11.1(9.0Ex 포함)
Windows 8 11.1(9.0Ex 포함)
Windows Server 2012 11.1(9.0Ex 포함)
Windows 8.1 11.2(9.0Ex 포함), 12 (D3D12On7 개조판 사용 한정[49])
Windows Server 2012 R2 11.2(9.0Ex 포함)
Windows 10 12~12.2(9.0Ex, 11.3~11.4 포함)[50]
Windows Server 2016 12~12.2(9.0Ex, 11.3~11.4 포함)
Windows Server 2019 12~12.2(9.0Ex, 11.4 포함)
Windows Server 2022 12~12.2(9.0Ex, 11.4 포함)
Windows 11 12~12.2(9.0Ex, 11.4 포함)


[1] 둠95. 자세한것은 둠/이식 버전참조. [2] 9x 계열의 윈도우들은 그나마 도스에 의존하고 있었기에 편법을 쓰면 하드웨어에 직접 접근할 방법이 있었다고 하나 Windows NT 3.1을 비롯한 NT 계열의 모든 윈도우들은 무조건 Windows API를 거치도록 변경되었다. [3] 실제로 2D 게임의 개발에 있어서 가장 기본적인 컴포넌트이기도 하다. 굳이 사운드 없는 2D 게임을 개발하고 싶다면 DirectDraw와 DirectInput 컴포넌트만 있으면 되겠지만... [4] Windows 98 SE부터 드랍되었다. [5] 사실상 32비트면 전부 다 지원하며 일부 게임은 호환성 모드로 256색으로 실행하면 된다. [6] 이 영상에서 리뷰하는 Windows 3.1 게임들을 보면 알 수 있다. 해당 영상의 유튜버는 당대의 도스 게임을 전문으로 리뷰하는 Ancient Dos Games이다. [7] 예를 들면 1990년대 중반에 발매된 상당한 숫자의 북미산 DOS게임. 상술한 둠도 당 모듈을 경유해 실행했었다. [8] 그 예로 D3D의 경우 Win32 프로그램들이 키보드나 마우스 입력과 같은 이벤트를 WNDCLASS의 wndproc 콜백 함수를 실행하는 식으로 되어 있는 반면, D3D가 실행되고 초기화한 HWND를 D3D에게 넘기면 D3D 런타임이 이 이벤트 루프를 후킹하고 모든 이벤트를 별도로 처리하는 식으로 되어 있다. [9] 1996년 3월에 써드파티 API로 발표되었던 ActiveMovie가 DirectX에 편입되면서 DirectShow라는 이름으로 변경되었다. [10] 각각 변환(Translation)과 조명(Light)의 머릿글자를 뜻한다. [11] 물론 Direct3D 내에서 OpenGL 좌표계를 사용할 수 있도록 해주는 기능이 있다. [12] 다만 IE가 업데이트되지 않았다면 6.4버전을 설치하는데 영문판이 제공된다. [13] 익숙한 개발자들이야 자신들이 작성한 2D 라이브러리 내부 코드를 자신이 직접 고치는건 별 어려움이 없을 수도 있지만 게임 개발을 가르치는 입장이 되면 꽤나 골치아픈 문제로 바뀐다. 아무 것도 모르는 교육생들을 상대로 화면에 그림 한 장 띄우려고 3차원 공간에 대하여 논해야 했기 때문. 마치 단순한 방정식이나 함수를 복잡하게 설명해줘야 하는 것과 비슷한 꼴. [14] 그동안 DirectX라고 불렀던건 Direct3D뿐만 아니라 다른 컴포넌트들까지 큰 변화가 있어서였고 9.0부터는 변경된 사항이 거의 다 Direct3D에 집중되어 있어서 아예 'Direct3D 9.0'으로 굳어지기 시작했다. [15] 9.0c 기술만 적용되었던 것은 아니었고 통합 셰이딩과 테셀레이션처럼 훗날 10, 11버전에 등장한 일부 기술들이 선행 적용되었다. [16] 다만 몇몇 프로그램을 통해 스레드 할당을 억지로 넣는 것도 가능은 하지만, 유니티 엔진처럼 명목상으로만 멀티스레딩일 뿐 실상은 싱글스레드 위주로 쓰는 것일 가능성이 매우 높다. [17] 32비트 기반으로 제작되어 4GB까지만 지원했다고 알려졌지만, 사실 32비트의 4GB RAM 제한과는 아무런 관련이 없으며 오랫동안 수정 안 된 버그였다. Windows 10 버전 1709에 들어서야 이 문제를 해결했다. [18] 내부적으로 DirectX 11의 하위 호환으로써 존속되고 있는 편이나 DirectX 11 전용 게임들이 하나둘씩 등장하면서 10.0의 하위호환 지원이 개선판인 10.1보다 더 빨리 줄어들고 있다. [19] 현재 OpenGL을 이용하여 DirectX 10 기능을 구현한 게임이 전무하다. 불가능하기보다는 귀찮으니까. 사실 9.0c로도 어느 정도 10 버전 기능을 재현할 수 있지만 9.0c의 고질적인 오버헤드 현상 때문에 구현하고 싶은 기능들을 다 뽑기가 어렵다 보니 노력 대비 성과가 좋지 않아 그렇게 하는 곳이 거의 없다는 것을 봐도 알 수 있다. [20] 10비트를 지원하기는 했지만 독점 전체화면 에서만 사용이 가능한데다 당시 시대상 HDR에 필요한 각종 API가 누락된 관계로 구현이 까다롭다. [21] 2008년 3월에 정식으로 발표되었다. [22] 인텔 샌디브릿지 기반 펜티엄, 셀러론 CPU의 내장그래픽 포함 [23] 현재는 내부적으로 DirectX 11의 하위 호환으로써 존속되고 있고 DirectX 10.0보다 취급이 더 좋지만 훗날 DirectX 11 전용 게임들이 하나둘씩 등장하면서 10.1의 하위호환 지원도 10.0처럼 점점 축소되고 있다. [24] 인텔 아이비브릿지 기반 펜티엄, 셀러론 CPU의 내장 그래픽 포함 [25] 인터넷 익스플로러 9가 원래 Windows Vista 이상에서만 사용 가능한 것도 Direct2D를 사용하기 때문이다. 다른 브라우저들은 MS의 계획대로(?) WDDM 1.0을 지원하는 Direct3D 9.0 계열 그래픽 칩셋과 CPU가 함께 동원됨으로써 XP에서도 어떻게든 Direct2D가 돌아간다. 애초에 Direct2D를 이용한 그래픽 처리 자체는 Direct3D를 거쳐서 작동되는 구조이긴 했다. [26] 사실 Direct3D 쪽도 과거 7.0 버전에서는 하드웨어 T&L이 대세였던 반면 8.0 버전 이후에는 프로그래머블 셰이더로 넘어왔기 때문에 호환성이 메롱했던 점은 크게 다르지 않다. 2D지만 DirectDraw를 더이상 제공하지 않는 점도 그렇고.. [27] 글의 중반 부분 참조 [28] 주로 OpenGL 2.0 이상 필수에 3.2이상 권장이며 Visual C++ 2013 x86으로 컴파일해서 해당 런타임도 설치해놔야 된다. [29] D3D11On12라는 함수 명령어를 통해 하위 호환을 지원하지만 테셀레이션, 도메인 셰이더, 헐 셰이더, 멀티스레드 등의 추가 기능들만 빼고 코딩하면 사실상 DirectX 10이 되는 DirectX 11의 완벽한 하위 호환과 다르다. D3D9On12라는 함수 명령어 역시 DirectX 12에서도 DirectX 9.0 호환성을 제공해주지만 이것도 이거대로 완벽하지 않다. [30] DirectX 11부터 추가된 DirectCompute의 핵심인 컴퓨트 셰이더는 예외적으로 DirectX 10 환경에서도 제한적으로나마 사용할 수 있다. DirectX 11이 DirectX 10의 슈퍼셋이기 때문에 가능한 것. [31] 인텔 하스웰 기반 펜티엄, 셀러론 CPU의 내장 그래픽 포함 [32] 우리가 흔히 말하는 3D 입체 영화 같은 것. [33] 그래도 WDDM 1.2를 지원한다는 의의가 있다 [34] 인텔 브로드웰 기반 펜티엄, 셀러론 CPU의 내장그래픽 포함 [35] DirectXMath 3.12는 Windows 10 4월 업데이트(버전 1803)와 함께 발표되지 않고 따로 발표되었다. [36] 8.1은 지원하지 않으나 단지 버려진 것이며 기술적으로 안될 이유가 없기에 Windows 7용 추가 개발 패키지 #를 개조하면 되는 것으로 보인다. # [37] 2017년 7월에 페르미 아키텍처 기반 GPU도 추가 지원되었다. [38] 카베리, 카리조, 브리스톨 리지 영원히 고통받는 라노 [39] 하스웰도 드라이버 업데이트를 통해 지원했으나, 이후 보안 문제로 비활성화되었다고 한다. [40] 이전에는 DX 11(SM 5.0)식으로 괄호 안이 셰이더 모델 버전이었으나 이제는 셰이더 모델이 겨우 5.1버전으로 마이너 업그레이드되어 의미가 없다고 없애고 12(11_0)나 12(12_1)처럼 괄호안이 Feature Level을 표기하는 것으로 변경되었다. [41] AMD의 1세대 GCN부터 도입된 비동기 셰이더의 병렬 처리 방식과 2세대 GCN 및 NVIDIA의 2세대 맥스웰 기반부터 도입된 다이내믹 로드 밸런싱(선점형) 방식이 있다. 단 2세대 맥스웰 GPU는 비동기 컴퓨트 기능을 활성화할 경우 비활성화 상태보다 성능이 더 낮아지는 현상 때문에 드라이버 차원에서 일부러 막아둔 상태인데다 파스칼 기반 모델이 출시되면서 구형이 된 2세대 맥스웰 기반의 고급형 모델부터 단종 수순을 밟고 있어 이를 개선해서 활성화해줄 가능성은 점점 낮아지고 있다. 따라서 2016년 현재 NVIDIA로써 비동기 컴퓨트를 그나마 유의미하게 지원하는 GPU는 사실상 파스칼 기반부터라고 볼 수 있다. [42] 크로스파이어 SLI의 경우 각각 AMD와 nVIDIA로만 구성이 가능하다는 점, 그마저도 상성이 맞는 그래픽 카드끼리만 가능하고 100+70의 성능이 170이 되지 못한다는 점(70+70 =140이 돼 버리는 방식), 렌더링 방식이 주로 각 프레임을 각 GPU가 돌아가면서 처리하는 방식이라 메모리 공유 및 제어 과정에서의 오버헤드가 성능 향상 영향을 준다는 점과 하이브리드 피직스의 경우 지금은 적용할 의미를 잃어버린 기술이다. 피직스가 오픈소스화되었기 때문. 자세한 사항은 피직스 참고 [43] 최대한으로 활용하는 방안이 고작 멀티 모니터 환경에서 서브 모니터를 내장 GPU과 연결하여 메인 GPU의 부하를 덜어주는 것일 정도. [44] 코로나 여파로 2.8은 드랍됐다. [45] 원래 최소사양이 셰이더 모델 6.5, 윈도우 11였으나 권장사항이 되고 최소사항은 윈도우 1909, 셰이더 모델 6.0으로 변경되었다. [46] 서비스 팩까지 포함한 윈도우 버전 기준 [47] Win2K 베타에서 제공된 DirectX 5.0 베타를 설치할 수 있긴 하지만 비공식이기 때문에 설치할 수 있는 공식 버전은 3.0a까지다. [48] 기본 지원이 아니라 추가 개발 패키지를 설치해야 한다. # [49] 기본 지원이 아니라 Windows 7용 추가 개발 패키지 #를 개조해야 되는 것으로 보인다. # 정식 지원이 되는 것으로 확인 되기 전까진 취소선 상태로 존치할 것 [50] DirectX 9.0Ex는 Windows 10을 지원하는 모든 그래픽 하드웨어에 해당되지만 DirectX 11.3부터는 케플러, 1세대 GCN, 하스웰 아키텍처 이후의 그래픽 하드웨어만 해당된다.


파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 문서의 r378에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r378 ( 이전 역사)
문서의 r ( 이전 역사)

분류