DirectX
Microsoft DirectX(마이크로소프트 다이렉트엑스)는 멀티미디어, 특히 게임 프로그래밍에서 마이크로소프트 플랫폼에서 작업을 위한 API의 집합이다. 다이렉트엑스는 마이크로소프트 윈도우, 세가, 드림캐스트, 마이크로소프트 엑스박스 및 엑스박스 360을 위한 비디오 게임 개발에 널리 쓰인다.
개발자 | 마이크로소프트 |
---|---|
발표일 | 1995년 9월 30일 |
안정화 버전 | 12 Ultimate API
/ 2021년 10월 5일 |
운영 체제 | 마이크로소프트 윈도우, 윈도우 폰 8, 드림캐스트,[1] 엑스박스, 엑스박스 360, 엑스박스 원, 엑스박스 시리즈 X/S, 리눅스(Gallium Nine) (DirectX 12 전용, 리눅스용 윈도우 하위 시스템 국한)[2] |
종류 | API |
웹사이트 | www |
다이렉트엑스는 또한 게임뿐 아니라 최근에 나온 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를 배우는 곳. 그래픽 엔진을 만드는 법을 가르쳐 준다.