DirectX

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

DirectX는 마이크로소프트가 개발한 멀티미디어 API/SDK로, 3D 그래픽, 사운드, 입력 장치, 네트워크 기능을 포함하며 윈도우 운영체제에서 게임 및 3D 애플리케이션 개발에 널리 사용된다. 1994년 개발을 시작하여 지속적으로 업데이트되었으며, Direct3D는 3차원 그래픽을 담당하는 핵심 구성 요소이다. DirectX는 Xbox 콘솔에서도 사용되었으며, 현재 DirectX 12 Ultimate 버전을 통해 레이 트레이싱, 가변 레이트 셰이딩 등 다양한 기능을 제공한다. .NET Framework를 지원하며, OpenGL, Vulkan 등과 같은 대안 API도 존재한다. 한국 게임 산업 발전에도 크게 기여했다.

DirectX - [IT 관련 정보]에 관한 문서
기본 정보
종류API
개발사마이크로소프트
최초 출시일1995년 9월 30일
최신 버전12 Ultimate API
최신 출시일2021년 10월 5일
지원 운영 체제마이크로소프트 윈도우
윈도우 폰 8
드림캐스트
엑스박스
엑스박스 360
엑스박스 원
엑스박스 시리즈 X/S
리눅스(Gallium Nine) (DirectX 12 전용, 리눅스용 윈도우 하위 시스템 국한)
추가 정보
포함 대상Windows 95 OSR2
Windows NT 4.0 SP3
이후의 윈도우
📚 더 읽어볼만한 페이지
  • API - Tk (소프트웨어)
    Tk는 Tcl 스크립팅 언어의 크로스 플랫폼 GUI 툴킷으로, 다양한 플랫폼 이식과 여러 프로그래밍 언어 바인딩을 지원하며 사용자 정의 가능한 위젯들을 제공한다.
  • API - ASIO
    ASIO는 독일 스타인버그에서 개발한 오디오 입출력 API 규격으로, 낮은 지연 시간과 멀티 채널 I/O를 지원하며 윈도우 운영체제에서 주로 사용된다.
  • 마이크로소프트 API - 윈도우 API
    윈도우 API는 마이크로소프트 윈도우 운영 체제에서 응용 프로그램이 시스템 기능에 접근하도록 돕는 인터페이스 집합이며, 다양한 버전으로 발전해 왔고, 현재 Win32가 널리 사용되며, 유연성을 제공하지만 복잡하다는 단점을 보완하기 위해 다양한 래퍼 라이브러리가 개발되었다.
  • 마이크로소프트 API - WinFS
    WinFS는 마이크로소프트가 개발한 파일 시스템으로, 검색 기능 내장 및 메타데이터 관리를 통해 데이터 관리 효율성을 높이는 것을 목표로 했으나 별도 제품으로 출시되지는 못하고 핵심 기능들이 윈도우 비스타 이후 기술에 통합되었다.
  • DirectX - Direct2D
    Direct2D는 마이크로소프트에서 개발한 2D 그래픽 API로, 낮은 수준의 추상화, 고품질 텍스트 렌더링, 안티앨리어싱, 하드웨어 가속, 높은 DPI 지원 등의 특징을 가지며 다양한 분야에서 활용된다.
  • DirectX - 다이렉트쇼
    DirectShow는 마이크로소프트에서 개발한 윈도우 기반 멀티미디어 프레임워크이자 API로, 필터 그래프를 통해 비디오 재생, 오디오 녹음, 편집, 인코딩 등 다양한 작업을 처리하며, 뛰어난 코덱 확장성을 가지지만 복잡한 구조와 코덱 충돌 문제가 있다.

2. 개발 역사

1994년 말, 마이크로소프트는 Windows 95 출시를 앞두고 있었으나, 당시 프로그래머들은 MS-DOS를 게임 프로그래밍에 더 적합한 플랫폼으로 여겼다. 마이크로소프트의 직원 알렉스 세인트 존은 게임 개발자들과의 대화에서 이러한 경향을 확인하고, 크레이그 아이슬러와 에릭 엥스트롬과 함께 더 나은 해결책을 개발하기로 했다. 이 프로젝트는 맨해튼 프로젝트라는 암호명으로 불렸으며, 제2차 세계 대전 당시 원자 폭탄 개발 프로젝트인 맨해튼 계획을 본떠 일본산 게임 콘솔을 PC에서 밀어내려는 의도를 담고 있었다. 초기 DirectX 로고는 방사능 기호를 사용하려 했으나 마이크로소프트의 요청으로 변경되었다.

1995년 9월, DirectX의 첫 번째 버전이 "Windows 95 Game SDK"라는 이름으로 출시되었다. ATI 개발팀의 기술 지원을 받아 개발되었으며, 이후 모든 Windows에서 멀티미디어 기능을 담당하게 되었다.

PC뿐만 아니라, 1998년(북미에서는 1999년) 세가드림캐스트에 Windows CE와 함께 DirectX 5.0의 커스터마이즈 버전이 세계 최초로 사용되었다. 이후 Windows와 DirectX는 2001년(일본에서는 2002년) 마이크로소프트의 첫 번째 Xbox에서도 채택되었다. Xbox API는 DirectX 8.1과 유사하지만, 콘솔에서 업데이트할 수 없다는 점이 PC나 다른 콘솔과 달랐다.

2002년, 마이크로소프트는 셰이더 모델 2.0(버텍스 셰이더 2.0, 픽셀 셰이더 2.0)과 고급 셰이딩 언어 HLSL을 지원하는 DirectX 9를 출시했다. 2004년 8월에는 셰이더 모델 3.0을 도입한 DirectX 9.0c를 출시했다.

2006년에 출시된 DirectX 10은 WDDM/DWM/DXGI 1.0과 함께 Windows Vista 전용으로 제공되었다.

2009년, 윈도우 7과 동시에 DirectX 11이 출시되었다. DirectX 11 중, GPGPU를 위해 도입된 API인 DirectCompute는 DirectX 10.x (셰이더 모델 4.x) 세대의 GPU에서도 사용할 수 있게 되었다.

GDC (Game Developers Conference) 2014에서는 DirectX 12가 발표되었으며, Windows 10 전용으로 2015년 7월에 정식 출시되었다.

2018년 Windows 10 October 2018 Update에서는 (DXR) 기능이 추가되었다. 2019년 마이크로소프트는 특정 게임 타이틀의 플러그인으로만 Windows 7에 DirectX 12가 출시될 것이라고 발표했다.

마이크로소프트는 2020년 3월, "DirectX 12 Ultimate"를 발표했다. Windows 10 버전 2004 이후부터 이용 가능하다. DirectX 12 Ultimate는 다음 4가지 기술로 구성된다.
* DirectX Raytracing 1.1 (DXR 1.1): 실시간 레이 트레이싱을 실현하는 그래픽스 API의 차기 버전.
* Variable Rate Shading (VRS): 셰이더의 픽셀 해상도를 상황에 따라 변화시켜 외관에 영향을 주지 않고 렌더링을 고속화.
* Mesh Shaders: 튜링(Turing) 세대 엔비디아(NVIDIA) GPU에 추가된 셰이더.
* Sampler Feedback: 불필요한 계산을 생략하여 렌더링 부하를 낮추는 기술 중 하나.

DirectX는 버전 11에서 GPGPU용 API인 DirectCompute를 Direct3D의 일부(컴퓨트 셰이더)로 통합하여 구현했다.

2.1. 로고

DirectX의 초기 로고는 방사능 기호를 본뜬 것이었으나, 마이크로소프트의 요청으로 변경되었다. 이후 버전에서는 번개 모양, 녹색 X 모양 등 다양한 로고가 사용되었다.

DirectX 9.0
DirectX 9.0

DirectX 12 Ultimate
DirectX 12 Ultimate

3. 구성 요소

DirectX는 다양한 API로 구성되어 있다. DirectX의 런타임 라이브러리와 소프트웨어 개발 키트는 모두 마이크로소프트의 웹사이트에서 무료로 다운로드할 수 있지만, 독점 소프트웨어이며 소스 코드는 비공개이다. 또한 단독 DirectX SDK는 "June 2010"이 최종 버전이며, Microsoft Windows SDK 8.0이 출시되면서 Windows SDK로 통합되었다.

DirectX 기능은 COM 스타일 개체 및 인터페이스 형태로 제공된다. 주요 구성 요소는 다음과 같다.

* DirectX Graphics: DirectX 8부터의 명칭이다.
* 다이렉트3D (D3D): 3차원 그래픽을 그리는 데 쓰인다. DirectX의 진화 역사에서 가장 중요한 구성 요소가 되었으며, DirectX라고 하면 간접적으로 Direct3D를 지칭하는 경우가 있다.
* DirectCompute: Windows 7 이후에 사용할 수 있는, GPGPU용 API. DirectX 11을 지원하기 위한 플랫폼 업데이트로 Windows Vista에도 백포트되었다.
* DirectML (Direct Machine Learning): Direct3D 12 위에 구축된, 기계 학습을 위한 로우 레벨 가속 라이브러리. Windows 10 1903 이후 사용 가능.
* DXGI: Direct3D 10 이후의 그래픽스 기반 API. 장치와의 통신 등 로우 레벨 작업을 담당한다.
* 다이렉트2D (D2D): Windows 7 이후에 사용할 수 있는 새로운 2차원 그래픽스 API. 버전 1.0은 Windows Vista에도 백포트되었다.
* DirectWrite: Windows 7 이후에 사용할 수 있는 새로운 고품질 텍스트 렌더링 API. 버전 1.0은 Windows Vista에도 백포트되었다.
* DirectComposition: Windows 8 이후에 사용할 수 있는, 변형이나 애니메이션 등을 동반하는 고성능 비트맵 합성을 가능하게 하는 API. DWM 기능의 일부를 애플리케이션 측에 해제하여 원활한 연동을 가능하게 한다.
* DirectX Audio: DirectX 8부터의 명칭이다.
* XAudio2: Xbox의 사운드 API인 XAudio에서 발전한 것. DirectSound의 후속.
* X3DAudio: XAudio2와 함께 사용되는, 공간 음향 라이브러리.
* XACT: 오서링 툴을 포함하는 하이 레벨 오디오 엔진. (업데이트 종료)
* XInput: Xbox 360 및 Xbox One 전용 게임 컨트롤러에 대응하는 API. Windows에서도 이러한 장치를 콘솔과 동일하게 이용할 수 있게 된다.
* DXVA: 동영상 처리 API. 버전 1.0은 DirectShow의 일부였지만, Windows Vista부터 사용할 수 있는 버전 2.0은 DirectShow나 Media Foundation과는 독립되어 있다.
* DirectShow: 각종 음성·동영상의 재생·생성. 후속으로 Media Foundation이 존재한다.
* DirectStorage: 최신 NVMe 스토리지 장치에 최적화된, 낮은 오버헤드의 I/O를 제공하는 API. DirectStorage 1.1에서는 Direct3D 12 위에 구축된, 압축 데이터를 GPU로 해제하는 기능도 지원한다. Xbox Series X/S 및 Windows 10/Windows 11에서 사용 가능.

더 이상 사용되지 않는 구성 요소는 다음과 같다.

* DirectDraw: 2차원 그래픽을 그리는 데에 쓰이며, DirectX 8 이후로 다이렉트 그래픽으로 통합되면서 쓰이지 않고 있다. 다이렉트2D가 역할을 대신하고 있다.
* DirectInput: 키보드, 마우스, 게임패드, 조이스틱으로부터의 입력 처리, 및 포스 피드백을 다룬다. DirectX 8 이후 업데이트 종료. FPS 게임 개발과 같은 용도라도 키보드나 마우스는 WM_INPUT (Raw Input) 이나 WM_MOUSEMOVE 등을 대신 사용하는 것이 권장된다.
* DirectSound: 사운드 재생 및 녹음. (업데이트 종료)
* DirectSound3D (DS3D): 3차원 사운드 재생.
* DirectMusic: DirectMusic Producer로 생성된 음악 트랙의 재생. (업데이트 종료)
* DirectPlay: 네트워크 게임을 위한 API 제공, 다이렉트엑스 8 이후로 개발이 중단되었다.
* DirectAnimation: 2D/3D 웹 애니메이션용. Internet Explorer 4.0 이후에 통합되었다.
* DirectX Media Objects: 인코더, 디코더, 효과와 같은 스트리밍 오브젝트 지원.

DirectX API는 기본적으로 Side-by-Side이며, 여러 버전이 충돌 없이 공존할 수 있기 때문에, 예를 들어 DirectX 11이 설치된 환경에서도 DirectX 10 및 이전 버전을 사용할 수 있다. 또한, 업데이트가 종료된 API 중 OS에 표준 설치된 구성 요소에 관해서는, Windows 10 등의 새로운 OS에서도 데스크톱 애플리케이션에서 표준적으로 사용하는 것 자체가 가능하지만, Direct3D 8과 같이 네이티브 64비트 버전이 제공되지 않는 것도 존재한다.

4. 버전 역사

DirectX는 1995년 첫 출시 이후 지속적으로 업데이트되었다.

👆
좌우로 밀어서 보기
버전빌드 번호OS출시일자
1.04.02.00951995년 9월 30일
2.0 / 2.0a4.03.00.1096윈도우 95 OSR2 및 NT 4.01996년 6월 5일
3.0 / 3.0a4.04.0068 / 70윈도우 NT 4.0 SP3
윈도우 NT 4.0을 지원하는 가장 마지막 빌드
1996년 9월 15일
4.0개발이 중단되어 출시 안 됨.
5.04.05.00.0155윈도우 95 OSR 2.5, 윈도우 NT 4.0에서 설치할 수 있던 윈도우 NT 5.0용 베타를 내려 받을 수 있음.1997년 7월 16일
5.24.05.01.1998윈도우 981998년 5월 5일
6.04.06.00.0318드림캐스트1998년 8월 7일
6.14.06.02.0436윈도우 98 SE
윈도우 NT 4.0에서 다이렉트 미디어를 지원하는 가장 마지막 빌드
1999년 2월 3일
7.04.07.00.0700윈도우 20001999년 9월 22일
7.14.07.01.3000윈도우 미1999년 9월 16일
8.0a4.08.00.0400윈도우 95를 지원하는 가장 마지막 빌드2000년 11월 7일
8.14.08.01.0810윈도우 XP, 엑스박스, 윈도우 서버 20032001년 11월 12일
9.04.09.0000.0900윈도우 서버 20032002년 12월 19일
9.0c4.09.0000.0904윈도우 XP SP2, 윈도우 서버 2003 SP1, 엑스박스 360에서의 가장 마지막 순수 32비트 빌드2004년 12월 13일
10.06.0.6000.16386윈도우 비스타만 지원2006년 11월 30일
10.16.0.6001.18000윈도우 비스타 서비스팩 1에 포함.2008년 2월
11.06.01.7600.16385윈도우 7, 윈도우 서버 2008 R2, 윈도우 서버 2008 SP2, 윈도우 비스타 SP2에 포함.2009년 10월 22일
11.16.02.9200.16384윈도우 8, 윈도우 서버 2012, 윈도우 7 SP1, 윈도우 서버 2008 R2 SP1에 포함.2012년 10월 26일
11.26.03.9600.16384윈도우 8.1, 윈도우 서버 2012 R2에 포함.2013년 10월 17일
12.010.00.10240.16384윈도우 10에 포함.2015년 7월 29일


DirectX 4는 출시되지 않았다. Raymond Chen의 저서 The Old New Thing에 따르면 DirectX 3가 출시된 후, 마이크로소프트는 버전 4와 5를 동시에 개발하기 시작했다. 버전 4는 소규모 기능이 포함된 단기 릴리스였고, 버전 5는 더 많은 기능을 갖춘 릴리스가 될 예정이었다. DirectX 4에 명시된 기능에 대한 게임 개발자들의 관심 부족으로 인해 보류되었고, 이미 두 개의 새 버전을 구분하는 많은 문서가 있었기 때문에 마이크로소프트는 버전 5에 사용할 기능에 버전 4를 재사용하지 않기로 결정했다.

2002년, 마이크로소프트는 셰이더 모델 2.0(버텍스 셰이더 2.0, 픽셀 셰이더 2.0)과 HLSL을 지원하는 DirectX 9를 출시했다. 2004년 8월에는 기능을 더욱 강화한 셰이더 모델 3.0을 도입한 DirectX 9.0c를 출시했다. DirectX 9는 윈도우 98, 윈도우 ME, 윈도우 2000, 윈도우 XP를 지원했다. 2024년 8월 현재, 이전 버전과의 호환성을 위해 모든 후속 윈도우 버전에서 계속 지원된다.

DirectX 10은 윈도우 비스타(2006년 말 출시) 이상에서만 제공되며 사용할 수 있다. 윈도우 XP와 같은 이전 버전의 윈도우에서는 DirectX 10 전용 애플리케이션을 실행할 수 없다. DirectInput은 XInput을 선호하여 사용이 중단되었고, DirectSound는 Cross-platform Audio Creation Tool 시스템(XACT)을 선호하여 사용이 중단되었다.
Microsoft DirectX 10 로고 워드마크
Microsoft DirectX 10 로고 워드마크


Direct3D 10.1은 2008년 2월에 출시된 윈도우 비스타 서비스 팩 1과 함께 제공되었으며 이를 필요로 하는 Direct3D 10.0의 증분 업데이트이다.

Microsoft DirectX 11 로고 워드마크
Microsoft DirectX 11 로고 워드마크

마이크로소프트는 시애틀에서 열린 Gamefest 08 행사에서 DirectX 11을 공개했다. 주요 기능으로는 GPGPU 지원(DirectCompute), 테셀레이션 지원 및 멀티 스레딩 지원이 포함되었다. DirectX 11에 대한 네 번의 업데이트가 출시되었다. DirectX 11.1은 윈도우 8에 포함되어 있다. WDDM 1.2를 지원하여 성능을 향상시키고, Direct2D , Direct3D, DirectCompute의 통합을 개선한다. DirectX 11.2는 윈도우 8.1 및 Windows Server 2012 R2에 포함되어 있다. DirectX 11.X는 Xbox One에서 실행되는 DirectX 11.2의 상위 집합이다. DirectX 11.3은 GDC에서 DirectX 12와 함께 발표되었으며 2015년에 출시되었다.

DirectX 12는 2014년 3월 20일 GDC에서 마이크로소프트에 의해 발표되었으며, 2015년 7월 29일 Windows 10과 함께 공식 출시되었다. 개발자는 이제 자체 명령 목록과 버퍼를 GPU에 구현하여 병렬 계산을 통해 보다 효율적인 리소스 활용을 할 수 있다. DirectX 12에서는 멀티 어댑터 지원을 통해 개발자가 시스템에서 여러 GPU를 동시에 사용할 수 있다. 2019년 마이크로소프트는 특정 게임 타이틀의 플러그인으로만 Windows 7에 DirectX 12가 출시될 것이라고 발표했다.

마이크로소프트는 2020년 3월 DirectX 12 Ultimate를 공개했다. DirectX 12 Ultimate는 윈도우 10 컴퓨터와 Xbox Series X 및 기타 9세대 Xbox 콘솔에서 공통 라이브러리로 통합될 예정이다. Ultimate의 새로운 기능으로는 DirectX 레이 트레이싱 1.1, 가변 레이트 셰이딩, 메시 셰이더, 샘플러 피드백 등이 있다.
DirectX 12 Ultimate의 로고
DirectX 12 Ultimate의 로고

5. DirectX Runtime

DirectX 런타임(DLL)은 크게 두 종류로 나뉜다. 하나는 d3d11.dll이나 d2d1.dll과 같은 기본 런타임이며, 다른 하나는 d3dx11_43.dll, D3DCompiler_43.dll, XAudio2_7.dll 또는 xactengine3_7.dll과 같은 SDK에 종속된 추가 런타임이다. 전자는 Windows운영 체제 (OS) 설치 시 또는 Microsoft Update/Windows Update 등을 통해 시스템 구성 요소로 설치되지만, 후자는 DirectX SDK(Windows SDK) 버전에 따라 다르며, DirectX 최종 사용자 런타임 설치 프로그램을 통해 설치해야 한다.

Direct3D 및 DirectSound와 같은 API는 장치 드라이버를 통해 하드웨어와 상호 작용한다. 하드웨어 제조업체는 DirectX와 호환되도록 각 하드웨어를 테스트해야 한다. 초기 DirectX에는 모든 DirectX 호환 드라이버의 최신 라이브러리가 포함되었으나, 웹 기반 Windows 업데이트 드라이버 업데이트 시스템으로 대체되었다.

DirectX 10 이전에는 런타임이 이전 드라이버와의 하위 호환성을 갖도록 설계되었다. 그러나 Windows Vista의 Direct3D 10 런타임은 이전 하드웨어 드라이버에서 실행할 수 없다.

Direct3D 10.1은 기능 수준 10_0 및 10_1을 도입했다. Direct3D 11은 레벨 11_0과 "10 레벨 9"를 추가했으며, 런타임은 모든 WDDM 드라이버에 제공된 Direct3D 9 DDI를 직접 사용한다. 기능 레벨 11_1은 Direct3D 11.1에서 도입되었다.

Windows 8.x 이후, 기본 런타임 외에 특정 버전의 추가 런타임(XInput1_4.dll, XAudio2_8.dll 등)이 시스템 구성 요소로 사전 설치되어 있다. 유니버설 Windows 플랫폼 (UWP) 앱 개발에서는 기본 런타임과 이 특정 버전의 추가 런타임만 사용할 수 있다.

DirectX를 사용한 응용 프로그램 실행 시 오류에 대처하려면 DirectX 런타임 업데이트가 필요하다. 그러나 사용하는 OS에 따라 완전히 실행 불가능할 수도 있다. 예를 들어 Windows XP에서는 DirectX 10 이후 버전을, Windows Vista/7/8.x에서는 DirectX 12를 사용할 수 없다.

6. 보조 라이브러리

Direct3D에는 마이크로소프트 순정 보조 라이브러리인 D3DX/D3DX영어(Direct3D Extension)가 존재했다. D3DX에는 3D 그래픽 프로그래밍에 필요한 산술 연산, 스프라이트, 메쉬/텍스처 읽기/쓰기와 같은 기능이 구현되어 있었다. D3DX 런타임은 DirectX 최종 사용자 런타임을 설치해야 사용 가능했다.

Windows SDK 8.0에서 D3DX는 폐지되었고, DirectXMath, [https://github.com/Microsoft/DirectXTK DirectXTK], [https://github.com/Microsoft/DirectXTex DirectXTex], [https://github.com/Microsoft/DirectXMesh DirectXMesh] 등의 오픈 소스 라이브러리로 대체되었다. Windows 8 및 Visual Studio 2012 이후에도 구 DirectX SDK를 설치하여 D3DX를 이용할 수 있지만, Windows 스토어 앱에서는 사용할 수 없었다.

DirectX 11.x용 DXUT11과 셰이더 이펙트 프레임워크 Effects 11 (FX11)는 GitHub에서 공개/유지보수되고 있다. 또한 DirectX Graphics Samples가 MIT 라이선스로 GitHub에서 공개되어 있으며, DirectX 12의 샘플 및 유틸리티 라이브러리가 포함되어 있다.

7. .NET Framework 지원

.NET Framework와 호환되는 DirectX 버전은 2002년에 출시되었으며, C#과 같은 호환 언어를 사용하여 .NET 응용 프로그램 내에서 DirectX 기능을 활용할 수 있게 되었다. 이 API는 "Managed DirectX" (MDX)로 알려졌으며, 기본 네이티브 DirectX API의 98% 성능을 가진다고 주장했다. 2006년까지 여러 업데이트가 출시되었으나, Managed DirectX 2.0 베타 버전을 마지막으로 개발이 중단되었고 더 이상 지원되지 않는다. Managed DirectX 2.0 라이브러리는 2006년 10월 5일에 만료되었다.

GDC 2006에서 마이크로소프트는 DirectX, HLSL 및 기타 도구를 하나의 패키지로 통합하여 게임 개발을 지원하기 위한 새로운 관리형 버전의 DirectX인 XNA Framework를 발표했다. XNA Game Studio Express RTM은 2006년 12월 11일에 Windows XP용 무료 다운로드로 제공되었다. 그러나 XNA Framework는 Windows의 일부로 제공되지 않았으며, 개발자는 런타임 구성 요소를 게임 또는 애플리케이션과 함께 재배포해야 했다. 2014년 4월에는 개발 및 지원이 종료되었다.

최신 XNA 릴리스를 포함한 마이크로소프트 제품은 .NET Framework에 대한 DirectX 10 지원을 제공하지 않는다.

.NET Framework에서 DirectX를 사용하는 다른 방법으로는 타사 라이브러리를 사용하는 것이 있다.

* SlimDX: .NET Framework에서 DirectX 프로그래밍을 위한 오픈 소스 라이브러리이다. 2012년 1월을 마지막으로 업데이트되지 않았으며, 공식 사이트도 2019년 현재는 사라졌다.
* SharpDX: 모든 Windows 플랫폼에서 .NET용 전체 DirectX API를 제공하는 오픈 소스 프로젝트이다. 고성능 게임, 2D 및 3D 그래픽 렌더링뿐만 아니라 실시간 사운드 애플리케이션 개발을 허용한다. 2019년 5월에 개발 종료가 발표되었다.
* [http://sourceforge.net/projects/directshownet DirectShow.NET]: DirectShow 하위 집합을 위한 라이브러리이다.
* [http://code.msdn.microsoft.com/WindowsAPICodePack Windows API Code Pack for .NET Framework]: 마이크로소프트의 오픈 소스 라이브러리이다. Direct3D 11.0, Direct3D 10.0/10.1, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite 등을 지원한다. 2015년 9월 현재 Windows API Code Pack 1.1 링크는 사라졌지만, NuGet을 통해 1.0.0 버전을 다운로드할 수 있다.

8. 대안

DirectX 계열의 응용 프로그램 프로그래밍 인터페이스에 대한 대안으로 대부분의 기능이 있는 OpenGL이 있다. 이 밖에도 SDL, 알레그로, 오픈맥스, OpenAL, FMOD가 있다. 이 라이브러리들 가운데 대다수가 크로스플랫폼이거나 오픈 코드에 기반을 두고 있다. Direct3D와 가장 유사한 기능을 제공하는 OpenGL의 후속작인 Vulkan, Metal, Mantle 등도 대안으로 꼽힌다. 다른 API의 예로는 SDL, Allegro, OpenMAX, OpenML, OpenAL, OpenCL, FMOD, SFML 등이 있다.

또, DirectX와 똑같은 API를 둔 다른 대안으로 와인을 들 수 있다. 게다가, ReactOS 개발자들은 "ReactX"라는 이름으로 DirectX를 재구현하려 하고 있다. 구글(Google)의 ANGLE 프로젝트처럼 OpenGL 자체가 아닌, 내부적으로 Direct3D를 사용하는 래퍼를 경유하여 윈도우(Windows)상에서 WebGL 및 OpenGL ES를 간접적으로 구현하는 라이브러리도 존재한다.

9. 한국 게임 산업과 DirectX

한국 온라인 게임 산업은 세계적인 경쟁력을 갖추고 있으며, DirectX는 이러한 한국 게임 산업 발전에 중요한 역할을 해왔다. 넥슨, 엔씨소프트, 넷마블 등 주요 게임 회사들은 DirectX 기술을 활용하여 고품질의 게임을 개발해왔다. DirectX는 윈도우 환경에서 표준적인 3D 그래픽 API로 사용되어 왔으며, 게임뿐만 아니라 일반적인 3D 애플리케이션 및 OS 그래픽 셸 환경에도 사용되고 있다. 또한, Direct2D/DirectWrite는 IE나 파이어폭스와 같은 웹 브라우저의 렌더링 엔진 하드웨어 가속기로 채용되고 있다.

DirectX는 3D 그래픽 API뿐만 아니라 사운드 처리, 휴먼 디바이스 입출력 처리, 네트워크 처리 등을 포함하는 종합적인 멀티미디어 애플리케이션 개발용 API/SDK를 지향한다. 반면, OpenGL은 순수한 3D 그래픽 API로 설계되었으며, 크로스 플랫폼을 지원한다는 차이점이 있다.

Direct3D가 표준적인 3D 그래픽 API로 정착한 PC/윈도우 계열 환경에서도 OpenGL은 여전히 공존하고 있다. DirectX 등장 이전에는 PC (윈도우) 용 게임의 3D 그래픽 API로서 OpenGL이나 Glide가 디 팩토 스탠다드로 사용되기도 했다. 오토캐드벡터웍스와 같이, 한때 윈도우판에서 OpenGL을 사용했던 CAD 소프트웨어들도 새로운 버전에서는 DirectX (Direct3D)를 사용하는 추세이다.