DirectX
개발자 | 마이크로소프트 |
---|---|
발표일 | 1995년 9월 30일 |
안정화 버전 | 12 Ultimate API
/ 2021년 10월 5일 |
운영 체제 | 마이크로소프트 윈도우, 윈도우 폰 8, 드림캐스트,[1] 엑스박스, 엑스박스 360, 엑스박스 원, 엑스박스 시리즈 X/S, 리눅스(Gallium Nine) (DirectX 12 전용, 리눅스용 윈도우 하위 시스템 국한)[2] |
종류 | API |
웹사이트 | www |
Microsoft DirectX(마이크로소프트 다이렉트엑스)는 멀티미디어, 특히 게임 프로그래밍에서 마이크로소프트 플랫폼에서 작업을 위한 API의 집합이다. 다이렉트엑스는 마이크로소프트 윈도우, 세가, 드림캐스트, 마이크로소프트 엑스박스 및 엑스박스 360을 위한 비디오 게임 개발에 널리 쓰인다.
다이렉트엑스는 또한 게임뿐 아니라 최근에 나온 3차원 그래픽 하드웨어를 사용하여 높은 품질의 3차원 그래픽을 빠르게 렌더링할 수 있기 때문에 소프트웨어 업계 전반에서 사용되기도 한다.
다이렉트엑스 런타임과 소프트웨어 개발킷은 무료이지만 개조는 할 수 없는 클로즈드 소스(오픈 소스의 반대 개념) 소프트웨어이다. 다이렉트엑스 런타임은 원래 컴퓨터 게임 개발자들에게만 공개되었으나, 최근에는 기본적으로 윈도우에 포함되어 있다. 상위 버전으로 업데이트하고 싶을 경우 마이크로소프트의 공식 홈페이지를 통해 설치할 수 있다. 설치 시, Bing 바 설치가 기본적으로 체크되어 있으니 주의하자.[3]
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용으로 개발된 게임이 거의 없어서 운영 체제가 큰 성공을 거두지 못할 것으로 생각되었기 때문이다. 라이온 킹 비디오 게임의 윈도우 포팅에 관한 부정적인 반응이 함께했다.[4]
도스는 비디오 카드, 키보드, 마우스, 사운드 장치, 그리고 시스템의 나머지 모든 부분들에 직접 접근을 허용하였던 반면에 윈도우 95는 보호 메모리 모델이 포함되어 이 모든 것들에 대한 접근을 제한하였다. 마이크로소프트는 프로그래머들을 위한 조속한 솔루션이 필요했는데, 이 운영 체제가 출시되기 수개월 밖에 안 남았기 때문이다. Eisler (development lead), St. John, and Engstrom (program manager)은 함께 이 문제를 해결하여 솔루션을 내놓았는데 이 이름이 DirectX이다.
로고
[편집]-
DirectX 9.0
-
DirectX 12 Ultimate
구성 요소
[편집]- 다이렉트 그래픽 인프라스트럭처(DirectX Graphics Infrastructure)
- 엑스인풋(XInput)
- Windows 크로스 플랫폼(Cross-Platform) 표준 입력(키보드 마우스 조이스틱 등등) API. Windows (XP sp1, Vista 이상) 및 XBox360 을 지원하며 DirectInput 대신에 XInput 을 사용하면 XBox360 전용 콘트롤러 및 고유한 기능(버튼,진동 등)을 Windows 에서도 사용할 수 있다.
- 다이렉트뮤직(DirectMusic)
- 다이렉트 뮤직 프로듀서에 의해 만들어지는 사운드 트랙 재생.
- 다이렉트 오디오(Direct Audio)
- 다이렉트라이트(DirectWrite)
- 다이렉트 엑스 10.1 표준에 포함된 글꼴 표현 API이다.
- 다이렉트쇼(DirectShow)
- 동영상,mp3 등의 멀티미디어 재생 API. 2005년 4월이후 DirectX SDK에서 완전히 제외되었으며, 현재는 Windows (Platform) SDK 에 포함된 상태.
- 다이렉트플레이(DirectPlay)
- 네트워크 게임을 위한 API 제공, 다이렉트엑스 8 이후로 개발이 중단되었다.
- 다이렉트컴퓨트(DirectCompute)
- 다이렉트X 11에 포함된 그래픽 프로세서를 통한 범용 연산 API, 다이렉트 10까지 지원하는 그래픽카드에 대응한다.
버전 역사
[편집]1995 | DirectX 1 |
---|---|
1996 | DirectX 2 |
DirectX 3 | |
1997 | DirectX 5 |
1998 | DirectX 6 |
1999 | DirectX 7 |
2000 | DirectX 8 |
2001 | |
2002 | DirectX 9 |
2003 | |
2004 | |
2005 | |
2006 | DirectX 10 |
2007 | |
2008 | |
2009 | DirectX 11 |
2010 | |
2011 | |
2012 | |
2013 | |
2014 | |
2015 | DirectX 12 |
2016 | |
2017 | |
2018 | |
2019 | |
2020 | DirectX 12 Ultimate |
버전 | 빌드 번호 | 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 윈도우 NT 4.0을 지원하는 가장 마지막 빌드 |
1996년 9월 15일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4.0 | 개발이 중단되어 출시 안 됨. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 SE 윈도우 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) 설치 프로그램 수정 |
윈도우 95를 지원하는 가장 마지막 빌드 | 2000년 11월 7일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8.1 | 4.08.01.0810 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를 지원했던 모든 윈도우 운영체제 버전들과 호환 D3DX DLL이 포함된 첫 버전 |
2005년 12월 9일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9.0c - 두 달에 한 번 업데이트 | 4.09.0000.0904 | 윈도우 XP 2005년 8월에 윈도우 98, 윈도우 98SE, 윈도우 ME, 윈도우 2000을 지원하는 마지막 버전이 발표되었다. 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를 둔 다른 대안으로 와인을 들 수 있다.
같이 보기
[편집]각주
[편집]- ↑ “Dreamcast Technical Pages”. June 1999.
- ↑ “Microsoft Announces Direct3D 12 For Linux / WSL2”. 2020년 5월 19일.
- ↑ “DirectX 설치 파일 시, Bing 바 기본 체크됨”.
- ↑ Tynan, Dan (2006년 5월 26일). “The 25 Worst Tech Products of All Time”. 《PC World》. 2015년 9월 20일에 확인함.
외부 링크
[편집]- (영어/프랑스어/독일어/이탈리아어/…) 공식 사이트
- (영어) DirectX - Curlie
- 개발자 네트워크
- (영어) DirectX World - DirectX를 배우는 곳. 그래픽 엔진을 만드는 법을 가르쳐 준다.