DirectX
IT위키
더 많은 작업
DirectX(다이렉트X)는 마이크로소프트가 윈도우에서 게임과 멀티미디어 프로그램이 그래픽·소리·입력 장치를 빠르게 쓸 수 있도록 제공하는 API(응용 프로그래밍 인터페이스) 모음이다.
1995년 윈도우 95 용으로 처음 나왔다. 그 전까지 게임은 성능 때문에 도스에서 하드웨어를 직접 다루었는데, DirectX 는 프로그램이 장치의 종류에 관계없이 같은 함수로 그래픽 카드·사운드 카드 기능을 쓰게 해 주어 윈도우용 게임이 퍼지는 계기가 되었다. 지금은 윈도우와 엑스박스에 들어 있으며, 최신 버전은 DirectX 12 다.
DirectX 는 장치 드라이버가 아니다. 계층으로 보면 다음과 같다.
응용 프로그램(게임) → DirectX API → 운영체제 그래픽·사운드 하위 시스템 → 장치 드라이버(그래픽 카드·사운드 카드 제조사 제공) → 하드웨어
- 응용 프로그램은 DirectX 함수를 부르고, DirectX 는 운영체제를 거쳐 장치 드라이버에 일을 넘긴다. 실제로 하드웨어를 제어하는 것은 드라이버다
- 그래서 DirectX 기능을 제대로 쓰려면 그래픽 카드가 그 버전을 지원하고, 그 기능을 구현한 드라이버가 설치되어 있어야 한다
- "DirectX 는 멀티미디어 주변장치의 드라이버다" 는 틀린 설명이다. 멀티미디어용 API 이고, 드라이버는 따로 있다
| 구성 요소 | 하는 일 |
|---|---|
| Direct3D | 3차원 그래픽 렌더링. DirectX 에서 가장 많이 쓰이는 부분 |
| Direct2D·DirectWrite | 2차원 그래픽, 글꼴 렌더링 |
| DirectCompute | 그래픽 처리 장치를 이용한 범용 계산(GPGPU) |
| XAudio2(옛 DirectSound) | 소리 재생과 믹싱 |
| XInput(옛 DirectInput) | 게임패드·조이스틱 입력 |
| DirectML | 그래픽 처리 장치를 이용한 기계 학습 추론 |
- 실행 창에서
dxdiag(DirectX 진단 도구)를 실행하면 설치된 DirectX 버전, 그래픽·사운드 장치와 드라이버 정보를 볼 수 있다 - 같은 역할을 하는 다른 API 로 OpenGL, Vulkan(여러 운영체제), Metal(애플)이 있다