{{위키데이터 속성 추적}}
{{소프트웨어 정보
| name = DirectX
| logo = Microsoft-DirectX-Logo-wordmark.svg
| logo_size = 250px
| screenshot = DirectX 12 Ultimate.png
| screenshot_size = 250px
| caption = DirectX 12 로고
| developer = [[마이크로소프트]]
| released = {{시작 날짜와 나이|1995|09|30}}
| latest_release_version = 12 Ultimate API
| latest_release_date    = {{시작 날짜와 나이|2021|10|5}}
| operating system = [[마이크로소프트 윈도우]], [[윈도우 폰 8]], [[드림캐스트]],<ref>{{웹 인용
 | url       = http://www.gamesurge.com/dreamcast/technical_pages/directx.shtml
 | title     = Dreamcast Technical Pages
 | date      = June 1999
}}</ref> [[엑스박스]], [[엑스박스 360]], [[엑스박스 원]], [[엑스박스 시리즈 X/S]], [[리눅스]](Gallium Nine) (DirectX 12 전용, [[리눅스용 윈도우 하위 시스템]] 국한)<ref>{{웹 인용
 | url       = https://www.phoronix.com/news/Microsoft-DX12-WSL2
 | title     = Microsoft Announces Direct3D 12 For Linux / WSL2
 | date      = 19 May 2020
}}</ref>
| genre = [[API]]
| website = {{URL|https://www.microsoft.com/en-us/download/details.aspx}}
}}
'''Microsoft DirectX'''({{lang|ko|마이크로소프트 다이렉트엑스}})는 [[멀티미디어]], 특히 [[게임]] [[프로그래밍]]에서 [[마이크로소프트]] [[컴퓨팅 플랫폼|플랫폼]]에서 작업을 위한 [[API]]의 집합이다. 다이렉트엑스는 마이크로소프트 [[마이크로소프트 윈도우|윈도우]], [[세가]], [[드림캐스트]], 마이크로소프트 [[엑스박스]] 및 [[엑스박스 360]]을 위한 [[비디오 게임]] 개발에 널리 쓰인다.

다이렉트엑스는 또한 게임뿐 아니라 최근에 나온 3차원 [[그래픽 처리 장치|그래픽 하드웨어]]를 사용하여 높은 품질의 3차원 그래픽을 빠르게 렌더링할 수 있기 때문에 [[소프트웨어]] 업계 전반에서 사용되기도 한다.

다이렉트엑스 런타임과 소프트웨어 개발킷은 무료이지만 개조는 할 수 없는 [[클로즈드 소스]]([[오픈 소스]]의 반대 개념) 소프트웨어이다. 다이렉트엑스 런타임은 원래 컴퓨터 게임 개발자들에게만 공개되었으나, 최근에는 기본적으로 윈도우에 포함되어 있다. 상위 버전으로 업데이트하고 싶을 경우 마이크로소프트의 공식 홈페이지를 통해 설치할 수 있다. 설치 시, Bing 바 설치가 기본적으로 체크되어 있으니 주의하자.<ref>{{웹 인용|url=https://heiswed.tistory.com/entry/%EA%B3%B5%EC%8B%9D-DirectX-%EC%84%A4%EC%B9%98-%ED%8C%8C%EC%9D%BC-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C|제목=DirectX 설치 파일 시, Bing 바 기본 체크됨|성=|날짜=|언어=ko|확인날짜=}}</ref>

Direct3D 9Ex, Direct3D 10은 [[윈도우 비스타]] 이상, Direct3D 11은 [[윈도우 비스타]] SP2 또는 [[윈도우 7]] 이상, Direct3D 12는 [[윈도우 10]]에서만 사용할 수 있다. 그 까닭은 이러한 새로운 버전들은 윈도우 비스타에 도입되었던 새로운 [[윈도우 디스플레이 드라이버 모델]]이 있어야 동작하기 때문이다. 그래서 DirectX 조건에 맞더라도 드라이버가 [[윈도우 디스플레이 드라이버 모델]]을 지원하지 않으면 사용할 수 없다. 새로운 비스타/WDDM 그래픽스 구조에는 [[데스크톱 창 관리자]]와 같이, 그래픽 하드웨어를 여러 개의 응용 프로그램과 서비스에 가상화할 수 있게 도와 주는 새로운 비디오 메모리 관리자를 포함하고 있다.

== 개발 역사 ==
1994년 말, 마이크로소프트는 다음 [[운영 체제]]인 [[윈도우 95]]를 출시할 준비가 되었다. 마이크로소프트의 3명의 직원 Craig Eisler, Alex St. John, Eric Engstrom은 [[프로그래머]]들이 마이크로소프트의 이전 운영 체제인 [[MS-DOS]]를 더 나은 플랫폼으로 보는 경향이 있었기 때문에 걱정이 있었다. MS-DOS가 게임 프로그래밍을 위한 더 나은 플랫폼으로 비쳐졌는데, 그 이유는 윈도우 95용으로 개발된 게임이 거의 없어서 운영 체제가 큰 성공을 거두지 못할 것으로 생각되었기 때문이다. [[라이온 킹 (비디오 게임)|라이온 킹]] 비디오 게임의 윈도우 포팅에 관한 부정적인 반응이 함께했다.<ref name="Tynan">{{뉴스 인용|url=http://www.pcworld.com/article/125772/worst_products_ever.html?page=3|title=The 25 Worst Tech Products of All Time|last=Tynan|first=Dan|date=26 May 2006|work=[[PC World]]|accessdate=20 September 2015}}</ref>

도스는 비디오 카드, 키보드, 마우스, 사운드 장치, 그리고 시스템의 나머지 모든 부분들에 직접 접근을 허용하였던 반면에 윈도우 95는 보호 메모리 모델이 포함되어 이 모든 것들에 대한 접근을 제한하였다. 마이크로소프트는 프로그래머들을 위한 조속한 솔루션이 필요했는데, 이 운영 체제가 출시되기 수개월 밖에 안 남았기 때문이다. Eisler (development lead), St. John, and Engstrom (program manager)은 함께 이 문제를 해결하여 솔루션을 내놓았는데 이 이름이 DirectX이다.

=== 로고 ===
<gallery perrow="3" style="text-align:center; margin:auto;">
파일:Directx9.png|DirectX 9.0
파일:DirectX 12 Ultimate.png|DirectX 12 Ultimate
</gallery>

== 구성 요소 ==
; 다이렉트 그래픽 인프라스트럭처({{lang|en|DirectX Graphics Infrastructure}})
;; [[Direct2D|다이렉트2D]]({{lang|en|Direct2D}})
:: 다이렉트 엑스 10.1 표준에 포함된 [[2차원 컴퓨터 그래픽스|2D 그래픽]] 표현 API이다. [[그래픽 장치 인터페이스|GDI, GDI+]]를 대체한다.
;; [[Direct3D|다이렉트3D]]({{lang|en|Direct3D}})
:: [[3차원 컴퓨터 그래픽스|3차원 그래픽]]을 그리는 데에 쓰인다.
;; [[다이렉트 드로]]({{lang|en|DirectDraw}})
:: 2차원 그래픽을 그리는 데에 쓰이며, 8 이후로 다이렉트 그래픽으로 통합되면서 쓰이지 않고 있다. 다이렉트2D가 역할을 대신하고 있다.
; [[DirectInput|다이렉트인풋]]({{lang|en|DirectInput}})
: [[게임 콘트롤러]] 등의 조작 장치를 제어할 때 쓰인다.(다이렉트엑스 10으로 넘어오면서 엑스인풋으로 이름이 바뀜).
;;[[XInput|엑스인풋]]({{lang|en|XInput}})
:: Windows 크로스 플랫폼(Cross-Platform) 표준 입력(키보드 마우스 조이스틱 등등) API. Windows (XP sp1, Vista 이상) 및 XBox360 을 지원하며 DirectInput 대신에 XInput 을 사용하면 XBox360 전용 콘트롤러 및 고유한 기능(버튼,진동 등)을 Windows 에서도 사용할 수 있다.
; [[DirectMusic|다이렉트뮤직]]({{lang|en|DirectMusic}})
: 다이렉트 뮤직 프로듀서에 의해 만들어지는 사운드 트랙 재생.
; 다이렉트 오디오({{lang|en|Direct Audio}})
;; [[다이렉트사운드]]({{lang|en|DirectSound}})
:: 게임 중 음향 효과에 쓰인다. DirectX 8이후로 다이렉트 사운드3D와 통합되어, 다이렉트 오디오가 되었으나, 여전히 다이렉트사운드로 불린다.
;; [[다이렉트사운드#다이렉트사운트3D|다이렉트사운드3D]]({{lang|en|DirectSound3D}})
:: 3차원 사운드를 위한 API. DirectX 8이후로 다이렉트 오디오에 통합되었다.
; [[DirectWrite|다이렉트라이트]]({{lang|en|DirectWrite}})
: 다이렉트 엑스 10.1 표준에 포함된 [[글꼴]] 표현 API이다.
; [[다이렉트쇼]]({{lang|en|DirectShow}})
: 동영상,mp3 등의 멀티미디어 재생 API. 2005년 4월이후 DirectX SDK에서 완전히 제외되었으며, 현재는 Windows (Platform) SDK 에 포함된 상태.
; [[DirectPlay|다이렉트플레이]]({{lang|en|DirectPlay}})
: 네트워크 게임을 위한 API 제공, 다이렉트엑스 8 이후로 개발이 중단되었다.
; [[다이렉트컴퓨트]]({{lang|en|DirectCompute}})
: 다이렉트X 11에 포함된 그래픽 프로세서를 통한 범용 연산 API, 다이렉트 10까지 지원하는 그래픽카드에 대응한다.

== 버전 역사 ==
{{Timeline of release years
| title = 
| subtitle = 주요 릴리스
| 1995 = DirectX 1
| 1996a = DirectX 2
| 1996b = DirectX 3
| 1997 = DirectX 5
| 1998 = DirectX 6
| 1999 = DirectX 7
| 2000 = DirectX 8
| 2002 = DirectX 9
| 2006 = DirectX 10
| 2009 = DirectX 11
| 2015 = DirectX 12
| 2020 = DirectX 12 Ultimate
}}
{| class="wikitable"
|- 
! 버전 !! 빌드 번호 !! OS !! 출시일자
|-
! 1.0 !! 4.02.0095
|
! [[1995년]] [[9월 30일]]
|-
! 2.0 / 2.0a !! 4.03.00.1096
| [[윈도우 95]] OSR2 및 NT 4.0
! [[1996년]] [[6월 5일]]
|-
! 3.0 / 3.0a !! 4.04.0068 / 70
| [[윈도우 NT]] 4.0 SP3 <br />윈도우 NT 4.0을 지원하는 가장 마지막 빌드
! [[1996년]] [[9월 15일]]
|-
! 4.0
| colspan="99" style="text-align:center;" | 개발이 중단되어 출시 안 됨.
|-
! 5.0 !! 4.05.00.0155
| [[윈도우 95]] OSR 2.5, 윈도우 NT 4.0에서 설치할 수 있던 윈도우 NT 5.0용 베타를 내려 받을 수 있음.
! [[1997년]] [[7월 16일]]
|-
! 5.1 !! 알 수 없음
| 알 수 없음
! [[1997년]] [[12월 1일]]
|-
! 5.2 !! 4.05.01.1600
| 
! [[1998년]] [[5월 5일]]
|-
! 5.2 !! 4.05.01.1998
| [[윈도우 98]]
! [[1998년]] [[5월 5일]]
|-
! 6.0 !! 4.06.00.0318
| [[드림캐스트]]
! [[1998년]] [[8월 7일]]
|-
! 6.1 !! 4.06.02.0436
| [[윈도우 98|윈도우 98 SE]]<br /> 윈도우 NT 4.0에서 다이렉트 미디어를 지원하는 가장 마지막 빌드
! [[1999년]] [[2월 3일]]
|-
! 7.0 !! 4.07.00.0700
| [[윈도우 2000]]
! [[1999년]] [[9월 22일]]
|-
! 7.0a !! 4.07.00.0716
|
! [[1999년]]
|-
! 7.1 !! 4.07.01.3000
| [[윈도우 미]]
! [[1999년]] [[9월 16일]]
|-
! 8.0 !! 4.08.00.???? (RC0)
| 
! [[2000년]] [[9월 30일]]
|-
! 8.0 !! 4.08.00.0400 (RC14)
| 
! [[2000년]] [[11월 3일]]
|-
! 8.0a !! 4.08.00.0400 (RC14)<br /> 설치 프로그램 수정
| 윈도우 95를 지원하는 가장 마지막 빌드
! [[2000년]] [[11월 7일]]
|-
! 8.1 !! 4.08.01.0810<br /> 4.08.01.0881 (RC7)
| [[윈도우 XP]], [[엑스박스]], [[윈도우 서버 2003]]
! [[2001년]] [[11월 12일]]
|-
! 9.0 !! 4.09.0000.0900
| [[윈도우 서버 2003]]
! [[2002년]] [[12월 19일]]
|-
! 9.0a !! 4.09.0000.0901
|
! [[2003년]] [[3월 26일]]
|-
! 9.0b !! 4.09.0000.0902 (RC2)
|
! [[2003년]] [[8월 13일]]
|-
! 9.0c !! 4.09.0000.0904 (RC0)
| 윈도우 XP SP2, 윈도우 서버 2003 SP1, [[엑스박스 360]]에서의 가장 마지막 순수 32비트 빌드
! [[2004년]] [[12월 13일]]
|-
! 9.0c !! 4.09.0000.0904
| ''9.0c를 지원했던 모든 윈도우 운영체제 버전들과 호환''<br /> [[D3DX]] [[DLL]]이 포함된 첫 버전
! [[2005년]] [[12월 9일]]
|-
! 9.0c - 두 달에 한 번 업데이트 !! 4.09.0000.0904
 | 윈도우 XP<br />''2005년 8월에 윈도우 98, 윈도우 98SE, 윈도우 ME, 윈도우 2000을 지원하는 마지막 버전이 발표되었다.''<br />2005년 12월, 그리고 2006년 2월 업데이트는 또한 [[XML]] 형식을 몇 개의 클래스에 추가한다.
| 2005년부터 약 두 달에 한 번꼴로 새로운 버전을 발표하여 2007년 2월 버전까지 있다.
|-
! 10.0 !! 6.0.6000.16386
| [[윈도우 비스타]]만 지원한다. 10버전에서는 [[픽셀 셰이더]]와 [[버텍스 셰이더]]를 통합한 [[통합 셰이더]]를 사용하고 추가적으로 지오메트리 셰이더를 지원, 셰이더 모델 4.0, 128비트 [[하이 다이내믹 레인지 렌더링|HDR]] 등이 추가되었다.
! [[2006년]] [[11월 30일]]
|-
! 10.1 !! 6.0.6001.18000
| 윈도우 비스타 서비스팩 1에 포함되어 있다.
! [[2008년]] [[2월]]
|-
! 11.0 !! 6.01.7600.16385
| [[윈도우 7]], [[윈도우 서버 2008 R2]], [[윈도우 서버 2008]] SP2, [[윈도우 비스타]] SP2에 포함되어 있다.
! [[2009년]] [[10월 22일]]
|-
! 11.1 !! 6.02.9200.16384
| [[윈도우 8]], [[윈도우 서버 2012]], [[윈도우 7]] SP1, [[윈도우 서버 2008 R2]] SP1에 포함되어 있다.
! [[2012년]] [[10월 26일]]
|-
! 11.2 !! 6.03.9600.16384
| [[윈도우 8.1]], [[윈도우 서버 2012 R2]]에 포함되어 있다.
! [[2013년]] [[10월 17일]]
|-
! 12.0 !! 10.00.10240.16384
| [[윈도우 10]]에 포함되어 있다.
! [[2015년]] [[7월 29일]]
|}

== 대안 ==
DirectX 계열의 [[응용 프로그램 프로그래밍 인터페이스]]에 대한 대안으로 대부분의 기능이 있는 [[OpenGL]]이 있다. 이 밖에도 [[심플 다이렉트미디어 레이어|SDL]], [[알레그로 라이브러리|알레그로]], [[오픈맥스]], [[OpenAL]], [[FMOD]]가 있다. 이 라이브러리들 가운데 대다수가 크로스플랫폼이거나 오픈 코드에 기반을 두고 있다.

또, DirectX와 똑같은 API를 둔 다른 대안으로 [[와인 (소프트웨어)|와인]]을 들 수 있다.

== 같이 보기 ==
{{위키공용분류}}
* [[액티브X]]
* [[Direct3D]]
* [[그래픽 장치 인터페이스]]
* [[그래픽스 파이프라인]]
* [[심플 다이렉트미디어 레이어]]
* [[벌컨 (API)]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{언어링크|en|fr|de|it|es}} [http://www.gamesforwindows.com/en-US/directx/ 공식 사이트]
* {{curlie|Computers/Programming/Libraries/DirectX/}}
* [http://msdn.microsoft.com/ko-kr/directx 개발자 네트워크]
* {{언어링크|en}} [https://web.archive.org/web/20170205021949/http://directxworld.altervista.org/ DirectX World] - DirectX를 배우는 곳. 그래픽 엔진을 만드는 법을 가르쳐 준다.

{{윈도우 구성 요소}}
{{마이크로소프트의 비디오 게임 제품군}}
{{전거 통제}}

[[분류:DirectX| ]]
[[분류:마이크로소프트 API]]
[[분류:API]]
[[분류:1995년 소프트웨어]]