DirectX

위키百科, 우리 모두의 百科事典.
( 다이렉트엑스 에서 넘어옴)

DirectX
開發者 마이크로소프트
發表日 1995年 9月 30日 (28年 前) ( 1995-09-30 )
安定化 버전
12 Ultimate API / 2021年 10月 5日 (2年 前) ( 2021-10-05 )
運營 體制 마이크로소프트 윈도우 , 윈도우 폰 8 , 드림캐스트 , [1] 엑스박스 , 엑스박스 360 , 엑스박스 원 , 엑스박스 시리즈 X/S , 리눅스 (Gallium Nine) (DirectX 12 專用, 리눅스用 윈도우 下位 시스템 局限) [2]
種類 API
웹사이트 www .microsoft .com /en-us /download /details .aspx

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 Graphics Infrastructure )
다이렉트2D ( Direct2D )
다이렉트 엑스 10.1 標準에 包含된 2D 그래픽 表現 API이다. GDI, GDI+ 를 代替한다.
다이렉트3D ( Direct3D )
3次元 그래픽 을 그리는 데에 쓰인다.
다이렉트 드로 ( DirectDraw )
2次元 그래픽을 그리는 데에 쓰이며, 8 以後로 다이렉트 그래픽으로 統合되면서 쓰이지 않고 있다. 다이렉트2D가 役割을 代身하고 있다.
다이렉트인풋 ( DirectInput )
게임 콘트롤러 等의 造作 裝置를 制御할 때 쓰인다.(다이렉트엑스 10으로 넘어오면서 엑스인풋으로 이름이 바뀜).
엑스인풋 ( XInput )
Windows 크로스 플랫폼(Cross-Platform) 標準 入力(키보드 마우스 조이스틱 等等) API. Windows (XP sp1, Vista 以上) 및 XBox360 을 支援하며 DirectInput 代身에 XInput 을 使用하면 XBox360 專用 콘트롤러 및 固有한 機能(버튼,振動 等)을 Windows 에서도 使用할 수 있다.
다이렉트뮤직 ( DirectMusic )
다이렉트 뮤직 프로듀서에 依해 만들어지는 사운드 트랙 再生.
다이렉트 오디오( Direct Audio )
다이렉트사운드 ( DirectSound )
게임 中 音響 效果에 쓰인다. DirectX 8以後로 다이렉트 사운드3D와 統合되어, 다이렉트 오디오가 되었으나, 如前히 다이렉트사운드로 불린다.
다이렉트사운드3D ( DirectSound3D )
3次元 사운드를 위한 API. DirectX 8以後로 다이렉트 오디오에 統合되었다.
다이렉트라이트 ( 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를 둔 다른 代案으로 와인 을 들 수 있다.

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

外部 링크 [ 編輯 ]