본문으로 이동

DirectX

위키백과, 우리 모두의 백과사전.
DirectX
개발자마이크로소프트
발표일1995년 9월 30일(30년 전)(1995-09-30)
안정화 버전
12 Ultimate API / 2021년 10월 5일(4년 전)(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(애플리케이션 프로그래밍 인터페이스) 모음이다. 원래 이 API들의 이름은 Direct3D, 다이렉트드로, 다이렉트뮤직, 다이렉트플레이, 다이렉트사운드 등과 같이 모두 "Direct"로 시작했다. DirectX라는 이름은 이러한 모든 API를 일컫는 약어로 고안되었으며(X는 특정 API 이름을 대신함), 곧 이 컬렉션의 명칭이 되었다. 마이크로소프트가 나중에 비디오 게임 콘솔을 개발하기 시작했을 때, 이 콘솔이 DirectX 기술을 기반으로 한다는 것을 나타내기 위해 X를 이름의 기초로 사용하여 엑스박스(Xbox)라고 명명했다.[3] X라는 이니셜은 XInput이나 크로스 플랫폼 오디오 크리에이션 툴(XACT)과 같이 엑스박스용으로 설계된 API 명칭으로 이어졌고, Direct2D다이렉트라이트와 같은 윈도우용 API에서는 DirectX 패턴이 계속 유지되었다.

Direct3D(DirectX 내의 3D 그래픽 API)는 마이크로소프트 윈도우엑스박스 계열 콘솔용 비디오 게임 개발에 널리 사용된다. Direct3D는 CAD/CAM 공학 등 시각화 및 그래픽 작업을 위한 다른 소프트웨어 응용 프로그램에서도 사용된다. Direct3D는 DirectX에서 가장 널리 알려진 구성 요소이기 때문에 "DirectX"와 "Direct3D"라는 이름을 혼용해서 사용하는 경우가 흔하다.

DirectX 소프트웨어 개발 키트(SDK)는 재배포 가능한 바이너리 형태의 런타임 라이브러리와 코딩에 사용되는 관련 문서 및 헤더로 구성된다. 원래 런타임은 게임에 의해 설치되거나 사용자가 직접 명시적으로 설치해야 했다. 윈도우 95는 DirectX를 포함하여 출시되지 않았으나, 윈도우 95 OEM 서비스 릴리스 2에는 DirectX가 포함되었다.[4] 윈도우 98윈도우 NT 4.0은 모두 DirectX를 탑재하여 출시되었으며, 이후 출시된 모든 버전의 윈도우도 마찬가지이다. SDK는 무료로 다운로드할 수 있다. 런타임은 독점적인 폐쇄 소스 소프트웨어이지만, 대부분의 SDK 샘플에 대해서는 소스 코드가 제공된다. 윈도우 8 개발자 프리뷰 출시를 기점으로 DirectX SDK는 윈도우 SDK에 통합되었다.[5]

개발 역사

[편집]

1994년 말, 마이크로소프트는 차기 운영체제윈도우 95의 출시를 앞두고 있었다. 소비자에게 주는 가치에 있어 중요한 요소는 그 위에서 실행될 수 있는 프로그램들이었다. 마이크로소프트 직원인 알렉스 세인트 존은 여러 게임 개발자들과 만나 MS-DOS 게임을 윈도우 95로 이식할 가능성을 논의했으나, 대부분 부정적인 답변을 받았다. 비디오 게임 프로그래머들은 윈도우 환경이 MS-DOS에서 바이오스 루틴이나 직접적인 하드웨어 액세스를 통해 가능했던 필수 기능들을 제공하지 않는다고 판단했기 때문이다.[6] 호환성에 대한 극심한 우려도 있었다. 대표적인 사례가 WinG 프로그래밍 인터페이스를 기반으로 한 디즈니 애니메이션 스토리북: 라이온 킹이었다.[7] 게임과 함께 제공된 WinG 인터페이스로 테스트되지 않은 새로운 컴팩 컴퓨터의 수많은 호환되지 않는 그래픽 드라이버로 인해, 많은 데스크톱 시스템에서 게임이 빈번하게 충돌했고 부모들은 디즈니의 도움말 라인에 항의 전화를 쏟아냈다.[8][9]

또 다른 마이크로소프트 직원인 크레이그 아이슬러는 게임 기술 작업을 위해 윈도우 95 멀티미디어 팀에 합류했다.[10] 세인트 존으로부터 마이크로소프트의 기술이 개발자들에게 반향을 일으키지 못하고 있다는 소식을 들은 아이슬러는, 개발자가 그래픽 하드웨어의 고유 기능을 사용할 수 있게 하고 그래픽 하드웨어 업체들이 개발자가 활용할 수 있는 방식으로 혁신할 수 있도록 하는 새로운 API 세트와 드라이버 모델을 구축하기 시작했다.[11] 프로그램 관리 지원이 필요했던 아이슬러는 에릭 엥스트롬을 영입했고, 두 사람은 DirectX 작업으로 11개의 특허를 획득했다.[12] 이 프로젝트의 코드명은 제2차 세계 대전 당시의 동명 프로젝트 이름을 딴 맨해튼 계획이었으며, 마이크로소프트 운영체제가 실행되는 개인용 컴퓨터로 일본에서 개발된 비디오 게임 콘솔을 대체하려는 의도였다.[8] 초기에는 방사능 표지를 로고로 사용했으나 마이크로소프트 측에서 로고 변경을 요청했다.[8] 경영진은 이미 윈도우를 게임 플랫폼으로서 포기하고 있었기에 프로젝트에 동의하지 않았으나, 이 세 사람은 프로젝트 개발에 매진했다.[9] 그들의 반항적인 기질로 인해 마이크로소프트 오피스 제품 담당 수석 부사장인 브래드 실버버그는 이 트리오를 "비스티 보이즈"(Beastie Boys)라고 불렀다.[13]

세 사람의 작업 대부분은 1994년 말부터 다른 할당된 프로젝트들 사이에서 수행되었다.[9] 4개월 만에 여러 하드웨어 제조업체의 의견을 수렴하여 팀은 1995년 게임 개발자 회의(GDC)에서 발표한 첫 번째 API 세트를 개발했다.[9] 이 SDK에는 비트맵 그래픽 구현을 위한 다이렉트드로,[14] 오디오를 위한 다이렉트사운드,[15] 그리고 네트워크상 플레이어 간 통신을 위한 다이렉트플레이 라이브러리가 포함되었다.[16] 또한 윈도우 95에 이미 존재하던 확장 조이스틱 API가 다이렉트인풋으로 처음 문서화되었으며,[17] CD-ROM 삽입 후 즉시 설치 절차를 시작하는 기능인 자동 실행(AutoPlay) 구현 방법에 대한 설명도 SDK의 일부였다.[18] 라이브러리의 "Direct" 부분은 이 루틴들이 기존의 핵심 윈도우 95 루틴을 우회하고 하드웨어 추상화 계층(HAL)을 통해서만 컴퓨터 하드웨어에 액세스했기 때문에 붙여진 이름이다.[19] 팀에서는 이를 "Game SDK"라고 불렀으나, "DirectX"라는 명칭은 여러 라이브러리의 명명 방식을 조롱하던 한 기자로부터 유래했다. 팀은 그 명명 방식을 유지하기로 하고 프로젝트를 DirectX라고 부르기로 했다.[8]

DirectX의 첫 번째 버전은 1995년 9월 "Windows Game SDK"로 출시되었다. 이 버전의 다이렉트드로 구성 요소는 윈도우 3.1용 DCI[20]WinG API를 대체하는 Win32용 라이브러리였다.[21] DirectX는 윈도우 95를 포함한 모든 버전의 마이크로소프트 윈도우가 고성능 멀티미디어를 통합할 수 있도록 해주었다. 아이슬러는 자신의 블로그에 DirectX 1부터 5까지를 구축하던 당시의 열기에 대해 서술했다.[22]

더 많은 개발자를 DirectX로 끌어들이기 위해 마이크로소프트는 이드 소프트웨어존 카맥에게 접근하여 둠 2를 MS-DOS에서 DirectX로 무료로 이식해 주겠다고 제안했으며, 게임에 대한 모든 출판권은 이드가 갖도록 했다. 카맥은 동의했고, 마이크로소프트의 게이브 뉴얼이 이식 프로젝트를 이끌었다. 1996년 8월에 "Doom 95"가 출시되었는데, 이는 최초로 상용화된 DirectX 게임이었다. 마이크로소프트는 빌 게이츠가 광고에 등장할 정도로 이 게임을 적극적으로 홍보했다.[8]

DirectX 2.0은 1996년 중반 윈도우 95 OSR2와 윈도우 NT 4.0 출시와 함께 윈도우의 기본 구성 요소가 되었다. 윈도우 95 자체가 아직 생소했고 출시된 게임이 적었기 때문에, 마이크로소프트는 윈도우에서 게임 플랫폼을 구축하는 능력을 불신하던 개발자들에게 DirectX를 적극적으로 홍보했다. DirectX 전도사인 알렉스 세인트 존은 1996년 컴퓨터 게임 개발자 회의에서 게임 개발자 제이 반슨이 실제 사자, 토가, 실내 카니발을 방불케 하는 고대 로마 테마라고 묘사한 화려한 행사를 기획했다.[23] 마이크로소프트가 처음으로 Direct3D를 소개하고 인터넷을 통해 멀티플레이어 "MechWarrior 2"를 시연한 곳이 바로 이 행사였다.

DirectX 팀은 수많은 컴퓨터 하드웨어 및 소프트웨어에 대해 각 DirectX 릴리스를 테스트해야 하는 도전적인 과제에 직면했다. 각 베타 및 최종 릴리스마다 다양한 그래픽 카드, 오디오 카드, 메인보드, CPU, 입력 장치, 게임 및 기타 멀티미디어 응용 프로그램을 테스트했다. 또한 DirectX 팀은 하드웨어 업계가 새로운 하드웨어 설계 및 드라이버 릴리스가 DirectX와 호환되는지 확인할 수 있도록 하는 테스트 프로그램을 구축하고 배포했다.

DirectX 이전에 마이크로소프트는 윈도우 NT 플랫폼에 OpenGL을 추가한 바 있었다.[24] OpenGL은 실리콘 그래픽스 사가 3D 그래픽 프로그래밍을 응용 프로그램 프로그래밍의 주류로 끌어들이기 위해 설계한 크로스 플랫폼 및 윈도 시스템 독립적인 그래픽 하드웨어 소프트웨어 인터페이스였다. 2D 그래픽 및 이미징에도 사용될 수 있었으며, 마이크로소프트를 포함한 아키텍처 검토 위원회(ARB)에 의해 제어되었다.[25][26] Direct3D는 초기에는 게임 사용에 중점을 둔 OpenGL의 마이크로소프트 제어 대안으로 의도되었다. 3D 게임이 성장하면서 게임 개발자들은 OpenGL 역시 게임 개발에 효과적으로 사용될 수 있음을 발견했다.[27] 그 시점에서 크로스 플랫폼인 OpenGL 지지자들과 윈도우 전용인 Direct3D 지지자들 사이에 "전쟁"이 시작되었다.[28] 공교롭게도 마이크로소프트 내에서 OpenGL 지원은 DirectX 팀이 담당했다. 개발자가 컴퓨터 게임에서 OpenGL 3D 그래픽 API를 사용하기로 선택하더라도, OpenGL에는 사운드나 조이스틱 지원과 같은 DirectX의 모든 기능이 포함되어 있지 않았기 때문에 Direct3D를 제외한 DirectX의 다른 API들이 종종 OpenGL과 결합되어 사용되었다.

콘솔 전용 버전에서 DirectX는 마이크로소프트의 엑스박스, 엑스박스 360엑스박스 원 비디오 게임 콘솔 API의 기초로 사용되었다. 이 API는 마이크로소프트와 오리지널 엑스박스용 커스텀 그래픽 하드웨어를 개발한 엔비디아가 공동으로 개발했다. 엑스박스 API는 DirectX 8.1 버전과 유사했지만 다른 콘솔 기술과 마찬가지로 업데이트가 불가능하다. 엑스박스의 코드명은 DirectXbox였으나 상업적 명칭을 위해 엑스박스로 단축되었다.[29]

2002년 마이크로소프트는 픽셀 및 버텍스 셰이더 2.0 버전을 통해 이전보다 훨씬 긴 셰이더 프로그램 사용을 지원하는 DirectX 9를 출시했다. 마이크로소프트는 이후로도 DirectX 제품군을 계속 업데이트하여 2004년 8월에 출시된 DirectX 9.0c에서 셰이더 모델 3.0을 도입했다.

2005년 4월부로 다이렉트쇼는 DirectX에서 제거되어 마이크로소프트 플랫폼 SDK로 옮겨졌다.

DirectX는 마이크로소프트의 윈도우 폰 8에 탑재된 것이 확인되었다.[30]

실시간 광선 추적(ray tracing)은 2018년에 DXR로 발표되었다. 같은 해 DirectX 셰이더 컴파일러에 HLSL을 SPIR-V로 컴파일하는 기능도 추가되었다.[31]

구성 요소

[편집]

DirectX는 여러 API로 구성되어 있다.

마이크로소프트는 다음 구성 요소의 사용을 중단(deprecated)했다.

DirectX 기능은 COM 스타일의 객체 및 인터페이스 형태로 제공된다. 또한 DirectX 구성 요소 자체는 아니지만, Direct3D 9를 기반으로 구축된 Managed Direct3D[34]나 마이크로소프트 XNA 그래픽 라이브러리[35]와 같은 관리 객체들이 DirectX의 일부 파트 위에 구축되었다.

마이크로소프트는 "PIX"라고 불리는 DirectX용 디버깅 도구를 배포하고 있다.[36]

버전

[편집]
출시 타임라인
주요 릴리스
1995DirectX 1
1996DirectX 2
DirectX 3
1997DirectX 5
1998DirectX 6
1999DirectX 7
2000DirectX 8
2001
2002DirectX 9
2003
2004
2005
2006DirectX 10
2007
2008
2009DirectX 11
2010
2011
2012
2013
2014
2015DirectX 12

DirectX 9

[편집]

2002년 마이크로소프트가 도입한 DirectX 9는 DirectX 제품군에서 매우 중요한 릴리스였다. 이는 윈도우의 그래픽 성능에 많은 중요한 기능과 향상을 가져왔다. 출시 당시 윈도우 98, 윈도우 미, 윈도우 2000윈도우 XP를 지원했다. 2024년 8월 현재까지 하위 호환성을 위해 이후 모든 버전의 윈도우에서 지원되고 있다.

DirectX 9에서 도입된 주요 기능 중 하나는 픽셀 셰이더 2.0과 버텍스 셰이더 2.0을 포함하는 셰이더 모델 2.0이었다. 이를 통해 더욱 복잡하고 사실적인 그래픽 렌더링이 가능해졌다. 또한 향상된 하드웨어 가속 기능과 GPU 자원의 효율적 활용을 통해 필요한 성능 향상을 가져왔다. 또한 개발자가 셰이더를 제작할 수 있는 접근성 높은 방법인 HLSL을 도입했다.

DirectX 9.0c는 원본의 업데이트 버전으로, 수년에 걸쳐 지속적으로 변경되면서 이전 운영체제와의 호환성에 영향을 미쳤다. 2007년 1월부터는 윈도우 2000 및 윈도우 XP가 최소 사양 운영체제가 되었다. 이는 윈도우 98 및 윈도우 미에 대한 지원이 공식적으로 중단되었음을 의미한다. 2024년 8월 현재 DirectX 9.0c는 여전히 정기적으로 업데이트되고 있다.

윈도우 XP SP2 이상에는 DirectX 9.0c가 포함되어 있으나,[37] 2005년 2월 DirectX 9.0 SDK 이상 버전으로 컴파일된 DirectX 9.0c 응용 프로그램을 위해서는 최신 DirectX 런타임 재배포 가능 패키지 설치가 필요할 수 있다.

DirectX 9는 게임 개발에 지대한 영향을 미쳤다. 2000년대 중반부터 2010년대 초반까지의 많은 게임이 DirectX 9을 사용하여 개발되었으며, 개발자들에게 표준 타겟이 되었다. 오늘날에도 일부 게임은 구형 하드웨어나 성능이 낮은 하드웨어를 위한 옵션으로 DirectX 9를 사용하고 있다.

DirectX 10

[편집]
Image
마이크로소프트 DirectX 10 로고 워드마크

DirectX API의 대규모 업데이트인 DirectX 10은 2006년 말에 출시된 윈도우 비스타 및 그 이후 버전에서만 사용할 수 있도록 함께 제공되었다. 윈도우 XP와 같은 이전 버전의 윈도우는 DirectX 10 전용 응용 프로그램을 실행할 수 없다. 대신 DirectX 10 하드웨어를 갖춘 윈도우 XP 시스템에서 실행되는 프로그램은 윈도우 XP에서 사용 가능한 최신 버전인 DirectX 9.0c 코드 경로를 사용하게 된다.[38]

DirectX 10의 변경 사항은 광범위했다. 이전 DirectX API의 많은 부분이 최신 DirectX SDK에서 사용 중단되었으며 호환성 유지를 위해서만 보존되었다. 다이렉트인풋XInput으로 대체되면서 사용 중단되었고, 다이렉트사운드크로스 플랫폼 오디오 크리에이션 툴 시스템(XACT)으로 대체되면서 사용 중단되었다. 또한 비스타 오디오 스택이 사운드를 CPU 소프트웨어에서 렌더링하게 됨에 따라 하드웨어 가속 오디오 지원도 상실되었다. DirectPlay DPLAY.DLL도 제거되어 dplayx.dll로 대체되었으며, 이 DLL에 의존하는 게임은 이를 복제하여 dplay.dll로 이름을 변경해야 한다.

하위 호환성을 달성하기 위해 윈도우 비스타의 DirectX에는 여러 버전의 Direct3D가 포함되어 있다.[39]

  • Direct3D 9: 윈도우 XP에 있던 Direct3D 9 동작을 에뮬레이션한다. WDDM 드라이버가 설치된 경우 비스타의 윈도우 디스플레이 드라이버 모델의 세부 사항과 장점은 응용 프로그램으로부터 숨겨진다. 예를 들어 비스타로 업그레이드한 후 XP 그래픽 드라이버(XDDM)만 설치된 경우 사용할 수 있는 유일한 API이다.
  • Direct3D 9Ex (윈도우 비스타 개발 중 내부적으로 9.0L 또는 9.L로 알려짐): 기존 Direct3D 응용 프로그램과의 호환성을 유지하면서 WDDM의 새로운 기능에 대한 전체 액세스를 허용한다(WDDM 드라이버가 설치된 경우). 윈도우 에어로 사용자 인터페이스는 D3D 9Ex에 의존한다.
  • Direct3D 10: 윈도우 비스타의 새로운 드라이버 모델을 기반으로 설계되었으며 셰이더 모델 4를 포함하여 렌더링 성능과 유연성에 많은 개선 사항을 특징으로 한다.

Direct3D 10.1은 2008년 2월에 출시된 윈도우 비스타 서비스 팩 1에 포함된 Direct3D 10.0의 점진적 업데이트이다.[40] 이 릴리스는 주로 그래픽 벤더를 위한 몇 가지 이미지 품질 표준을 설정하는 동시에 개발자에게 이미지 품질에 대한 더 많은 제어권을 부여한다.[41] 또한 큐브 맵 어레이, MRT당 별도의 블렌드 모드, 픽셀 셰이더에서의 커버리지 마스크 내보내기, 샘플별 픽셀 셰이더 실행 기능, 멀티샘플링된 깊이 버퍼 액세스 지원을 추가했으며,[42] 비디오 카드가 셰이더 모델 4.1 이상 및 32비트 부동 소수점 연산을 지원할 것을 요구한다. Direct3D 10.1은 여전히 Direct3D 10 하드웨어를 완전히 지원하지만, 새로운 기능을 모두 활용하려면 업데이트된 하드웨어가 필요하다.[43]

DirectX 11

[편집]
Image
마이크로소프트 DirectX 11 로고 워드마크

마이크로소프트는 시애틀에서 열린 Gamefest 08 행사에서 DirectX 11을 공개했다. 최종 플랫폼 업데이트는 2009년 10월 27일 윈도우 비스타용으로 출시되었으며, 이는 Direct3D 11을 기본 표준으로 탑재하여 출시된 윈도우 7의 최초 출시 일주일 후였다.

주요 예정 기능으로는 그래픽 처리 장치 소프트웨어 지원(다이렉트컴퓨트), 테셀레이션 지원을 포함한 Direct3D 11,[44][45] 그리고 비디오 게임 개발자가 멀티 코어 프로세서를 더 잘 활용하는 게임을 개발할 수 있도록 돕는 개선된 멀티스레딩 지원이 있었다.[46] 멀티스레드 리소스 처리와 같은 새로운 API의 일부는 Direct3D 9/10/10.1 클래스 하드웨어에서도 지원될 수 있다. 하드웨어 테셀레이션 및 셰이더 모델 5.0은 Direct3D 11 지원 하드웨어가 필요하다.[47] Direct3D 11은 Direct3D 10.1의 엄격한 상위 집합으로, 버전 10.1의 모든 하드웨어 및 API 기능을 유지하며 새로운 기능이 필요한 경우에만 기능을 추가한다. 이는 이전 버전의 DirectX와의 하위 호환성을 유지하는 데 도움이 된다.

DirectX 11에 대한 네 가지 업데이트가 출시되었다.

  • DirectX 11.1은 윈도우 8에 포함되어 있다. 성능 향상을 위해 WDDM 1.2를 지원하고, Direct2D(현재 버전 1.1), Direct3D, 다이렉트컴퓨트의 통합이 개선되었으며, XNA 프레임워크의 DirectXMath, XAudio2 및 XInput 라이브러리를 포함한다. 또한 게임 및 비디오를 위한 스테레오스코픽 3D 지원 기능도 갖추고 있다.[48] DirectX 11.1은 윈도우 7 플랫폼 업데이트를 통해 윈도우 7으로도 일부 백포트되었다.[49][50]
  • DirectX 11.2는 윈도우 8.1(RT 버전 포함) 및 윈도우 서버 2012 R2에 포함되어 있다.[51] 지오메트리 실현화(geometry realizations)와 같은 몇 가지 새로운 기능을 Direct2D에 추가했다.[52] 또한 장면의 일부 요소를 낮은 해상도로 렌더링한 다음 높은 해상도로 렌더링된 다른 부분과 하드웨어 오버레이를 통해 합성할 수 있는 스왑 체인 컴포지션을 추가했다.[53]
  • DirectX 11.X는 엑스박스 원에서 실행되는 DirectX 11.2의 상위 집합이다.[54] 여기에는 나중에 DirectX 12의 일부로 발표된 드로우 번들(draw bundles)과 같은 기능이 실제로 포함되어 있었다.[55]
  • DirectX 11.3은 GDC에서 DirectX 12와 함께 발표되었으며 2015년에 출시되었다. 이는 DirectX 12를 보완하는 고수준 대안으로 의도되었다.[56] 윈도우 10에 포함되어 있다.[51]

DirectX 12

[편집]

DirectX 12는 2014년 3월 20일 GDC에서 마이크로소프트에 의해 발표되었으며, 2015년 July 29일 윈도우 10과 함께 공식적으로 출시되었다.

새로운 DirectX 릴리스의 주요 특징은 드라이버 오버헤드를 줄일 수 있는 Direct3D 12용 고급 저급 프로그래밍 언어 API의 도입이었다. 개발자는 이제 GPU에 자신만의 명령 목록과 버퍼를 구현할 수 있으며, 이를 통해 병렬 컴퓨팅을 통한 효율적인 자원 활용이 가능해졌다. 수석 개발자인 맥스 맥멀런은 Direct3D 12의 주된 목표가 "폰, 태블릿, PC에서 콘솔 수준의 효율성을 달성하는 것"이라고 밝혔다.[57] Direct3D 12의 출시는 AMD 그래픽 카드용 맨틀, iOS 및 macOS용 애플의 메탈, 그리고 크로노스 그룹의 크로스 플랫폼 벌컨을 포함한 저오버헤드 그래픽 API를 위한 다른 이니셔티브와 함께 이루어졌다.

멀티어댑터 지원은 DirectX 12의 기능으로, 개발자가 시스템의 여러 GPU를 동시에 활용할 수 있게 해준다. 이전에는 멀티 GPU(mGPU) 지원이 AMD 크로스파이어X엔비디아 SLI와 같은 벤더 구현에 의존했었다.[58][59][60][61]

  • 암시적(Implicit) 멀티어댑터 지원은 이전 버전의 DirectX와 유사한 방식으로 작동하며, 프레임은 유사한 연산 능력을 가진 연결된 GPU들에서 번갈아 가며 렌더링된다.
  • 명시적(Explicit) 멀티어댑터는 개발자에게 두 가지 고유한 API 패턴을 제공한다. 연결된 GPU(Linked GPUs)는 DirectX가 SLI 또는 크로스파이어X의 그래픽 카드를 단일 GPU로 간주하고 결합된 자원을 사용할 수 있게 한다. 반면 연결되지 않은 GPU(Unlinked GPUs)는 DirectX가 서로 다른 벤더의 GPU를 활용할 수 있게 하여, CPU의 내장 그래픽으로 외장 GPU를 보조하거나 AMD와 엔비디아 카드를 결합할 수 있게 한다. 그러나 정교한 혼합 멀티 GPU 설정은 훨씬 더 세심한 개발자의 지원이 필요하다.

DirectX 12는 모든 페르미 및 이후 엔비디아 GPU, AMD의 GCN 기반 칩, 그리고 인텔의 하스웰 및 이후 프로세서의 그래픽 유닛에서 지원된다.[62]

SIGGRAPH 2014에서 인텔은 컴퓨터로 생성된 소행성대 데모를 공개했는데, 여기서 DirectX 12는 렌더링 속도와 CPU 전력 소비 면에서 DirectX 11보다 50~70% 더 효율적이라고 주장되었다.[63][64]

애쉬즈 오브 더 싱귤래리티는 DirectX 12를 활용한 최초의 공개 게임이었다. 2015년 8월 아르스 테크니카의 테스트에 따르면 엔비디아 지포스 980 Ti의 경우 DirectX 11 모드보다 DirectX 12에서 약간의 성능 저하가 나타난 반면, AMD 라데온 R9 290x는 DirectX 12에서 최대 70%의 일관된 성능 향상을 달성했으며 일부 시나리오에서는 AMD가 DirectX 12에서 더 강력한 엔비디아 제품을 능가했다. 이러한 성능 차이는 DirectX 12에 대한 엔비디아의 미흡한 드라이버 최적화 때문이거나, 혹은 DirectX 11 직렬 실행에 최적화된 카드의 하드웨어적 한계 때문일 수 있지만 정확한 원인은 불분명하다.[65]

엑스박스에서 DirectX 12의 성능 향상은 PC만큼 상당하지 않다.[66]

2018년 3월, 지원되는 하드웨어에서 실시간 광선 추적이 가능한 DirectX Raytracing(DXR)이 발표되었으며,[67] DXR API는 윈도우 10 2018년 10월 업데이트에 추가되었다.

2019년 마이크로소프트는 특정 게임 타이틀에 대한 플러그인 형식으로만 윈도우 7에 DirectX 12가 도입됨을 발표했다.[68]

DirectX 12 Ultimate

[편집]

마이크로소프트는 2020년 3월 DirectX 12 Ultimate를 공개했다. DirectX 12 Ultimate는 윈도우 10 컴퓨터와 엑스박스 시리즈 X 및 기타 9세대 엑스박스 콘솔 모두에서 공통 라이브러리로 통합된다. Ultimate의 새로운 기능에는 DirectX Raytracing 1.1, 설계 선택에 따라 셰이딩의 세부 수준을 프로그래머가 제어할 수 있는 가변 속도 셰이딩(Variable Rate Shading), 메시 셰이더(Mesh Shaders), 샘플러 피드백(Sampler Feedback) 등이 포함된다.[69][70]

버전 역사

[편집]
DirectX 버전
버전 출시일 비고
주요 보조 번호
1 1.04.02.00951995년 9월 30일처음에 Windows Game SDK로 출시되어 윈도우 95 이상에서 WinG를 대체함
2 2.01996년일부 서드파티 응용 프로그램에만 포함되어 제공됨
2.0a4.03.00.10961996년 6월 5일윈도우 95 OSR2 및 윈도우 NT 4.0 전용
3 3.04.04.00.00681996년 9월 15일 
4.04.00.00691996년이후 DirectX 3.0 패키지에 Direct3D 4.04.00.0069 포함됨
3.0a4.04.00.00701996년 12월윈도우 NT 4.0 SP3 이상. 윈도우 NT 4.0을 지원하는 마지막 버전
3.0b4.04.00.00701997년 1월윈도우 95 일본어 버전의 외관상 문제를 수정한 3.0a의 마이너 업데이트 (DSETUPJ.DLL)
4 4.0출시되지 않음DirectX 4는 출시되지 않았다. 마이크로소프트의 레이먼드 첸은 자신의 저서 "The Old New Thing"에서 DirectX 3 출시 후 마이크로소프트가 버전 4와 5를 동시에 개발하기 시작했다고 설명했다. 버전 4는 작은 기능을 담은 단기 출시 버전이었고 버전 5는 더 실질적인 출시 버전이 될 예정이었다. DirectX 4용으로 예정된 기능에 대한 게임 개발자들의 관심 부족으로 인해 보류되었고, 이미 두 버전을 구분하는 수많은 문서가 존재했기 때문에 마이크로소프트는 버전 5용 기능을 설명하는 데 버전 4를 재사용하지 않기로 선택했다.[71][72]
5 5.04.05.00.0155 (RC55)1997년 8월 4일윈도우 NT 4.0에 설치 가능한 윈도우 2000용 베타 버전으로 제공됨
4.05.00.0155 (RC66)윈도우 95 OSR 2.5 설치 미디어에 포함된 인스톨러
5.24.05.01.1600 (RC00)1998년 5월 5일윈도우 95용 DirectX 5.2 릴리스
4.05.01.1998 (RC0)1998년 6월 25일윈도우 98 전용
6 6.04.06.00.0318 (RC3)1998년 8월 7일[73]드림캐스트 및 기타 장치에 구현된 윈도우 CE
6.14.06.02.0436 (RC0)1999년 2월 3일[74]
6.1a4.06.03.0518 (RC0)1999년 5월 5일[75]윈도우 98 Second Edition 전용.
7 7.04.07.00.0700 (RC1)1999년 9월 22일[76][77][78]
4.07.00.07002000년 2월 17일윈도우 2000 전용
7.0a 4.07.00.0716 (RC0)1999년 11월
4.07.00.0716 (RC1)1999년 12월 17일윈도우 95부터 98까지만 출시됨[79][80]
7.14.07.01.3000 (RC1)2000년 9월 14일[81]윈도우 미 전용. RGB 소프트웨어 렌더링 지원이 내장된 마지막 버전. 또한 486 이하 CPU에서 실행되는 마지막 버전.
8 8.04.08.00.0400 (RC10)2000년 11월 10일[82]
8.0a4.08.00.0400 (RC14)2001년 1월 24일[83][84]윈도우 95를 지원하는 마지막 버전 및 dxdiag.exe에서 소프트웨어 렌더링 지원이 있는 마지막 버전
8.14.08.01.08102001년 10월 25일윈도우 XP, 윈도우 XP SP1, 윈도우 서버 2003
4.08.01.0881 (RC7)2001년 11월 8일하위 버전 운영체제(윈도우 98, 윈도우 미, 윈도우 2000)용 버전
8.1b4.08.01.0901 (RC7)2002년 6월 25일Direct3D 업데이트(D3d8.dll) 포함. 윈도우 2000의 다이렉트쇼 수정 사항(Quartz.dll) 포함
8.24.08.02.0134 (RC0)2002년DirectX 8.1b와 동일하나 DirectPlay 8.2를 포함함
9 9.04.09.00.0900 (RC4)2002년 12월 19일
9.0a4.09.00.0901 (RC6)2003년 3월 26일
9.0b4.09.00.0902 (RC2)2003년 8월 13일
9.0c[85] 4.09.00.0904 (RC0)2004년 7월 22일첫 9.0c 버전
2004년 10월부터 시작된 주기적인 32비트/64비트 하이브리드 업데이트는 2007년 8월까지 두 달마다, 그 이후에는 분기마다 출시됨. 마지막 업데이트는 2010년 6월에 출시됨[86]
4.09.00.09042004년 8월 6일 / 2008년 4월 21일*윈도우 XP SP2 및 SP3*, 윈도우 서버 2003 SP1 및 윈도우 서버 2003 R2
2006년 10월 10일[87] 윈도우 98, 98 SE 및 미를 지원하는 마지막 버전[88][89]
2010년 2월 5일[90] 윈도우 2000,[89] XP 및 XP SP1을 지원하는 마지막 버전
2010년 6월 7일[89] 최종 9.0c 버전
윈도우 XP SP2 및 SP3를 지원하는 마지막 버전[91]
10 106.00.6000.163862006년 11월 30일윈도우 비스타 전용
10.16.00.6001.180002008년 2월 4일윈도우 비스타 SP1, 윈도우 서버 2008
Direct3D 10.1 포함
6.00.6002.180052009년 4월 28일윈도우 비스타 SP2, 윈도우 서버 2008 SP2
Direct3D 10.1 포함
11 116.01.7600.163852009년 10월 22일윈도우 7, 윈도우 서버 2008 R2
6.00.6002.181072009년 10월 27일윈도우 비스타 SP2 및 윈도우 서버 2008 SP2, Platform Update for Windows Vista and Windows Server 2008를 통해 지원[92]
6.01.7601.175142011년 2월 16일윈도우 7 SP1, 윈도우 서버 2008 R2 SP1
11.16.02.9200.163842012년 8월 1일윈도우 8, 윈도우 RT, 윈도우 서버 2012
6.02.9200.164922013년 2월 11일윈도우 7 SP1 및 윈도우 서버 2008 R2 SP1, Platform Update for Windows 7 and Windows Server 2008 R2를 통해 지원[93]
11.26.03.9600.163842013년 10월 18일윈도우 8.1, 윈도우 RT, 윈도우 서버 2012 R2
12 1210.00.10240.163842015년 7월 29일윈도우 10
10.00.15063.00002017년 3월 20일윈도우 10, 깊이 범위 테스트(Depth Bounds Testing) 및 프로그래밍 가능한 MSAA 추가[94][95]
10.00.17763.00002019년 11월 20일앱 개발자용 전용 소스 코드 패키지를 통해 윈도우 7 SP1용 Direct3D 12만 지원[96][97]
12.1 10.00.17763.00012018년 10월 2일윈도우 10, DirectX Raytracing 지원 추가[98]
10.00.18362.0116 2019년 5월 19일윈도우 10, 가변 속도 셰이딩(VRS) 지원 추가[99]
12.2 10.00.19041.0928 2020년 11월 10일윈도우 10, Ultimate
10.00.22000.1000 2021년 10월 5일 윈도우 11, 네이티브 재생률 전환 추가[100]리눅스용 윈도우 하위 시스템에 개선된 그래픽 성능 추가[101]
10.00.22621.3820 2022년 9월 20일 윈도우 11 (22H2), DirectStorage 개선, DXR 최적화, 셰이더 모델 6.7
10.00.22631.2428 2023년 10월 31일 윈도우 11 (23H2), DirectX 12 Ultimate 추가 최적화 및 DXIL 컴파일러 개선
10.00.26100.1000 2024년 10월 1일 윈도우 11 (24H2 / 25H2), 셰이더 실행 재정렬(SER), 워크 그래프(Work Graphs), 셰이더 모델 6.8 지원
10.00.26100.7309 2025년 12월 1일 윈도우 11 (25H2), 워크 그래프 정교화, 고급 DXR 동작 및 GPU 구동 파이프라인 개선

마이크로소프트의 DxDiag 도구(버전 4.09.0000.0900 이상)에서 보고되는 버전 번호는 x.xx.xxxx.xxxx 형식을 사용한다. 그러나 DirectX 및 윈도우 XP MSDN 페이지에서는 레지스트리가 항상 x.xx.xx.xxxx 형식이었다고 주장한다. 따라서 위 표에서 버전이 '4.09.00.0904'로 나열된 경우 마이크로소프트의 DxDiag 도구에서는 '4.09.0000.0904'로 표시될 수 있다.[102]

호환성

[편집]

다양한 버전의 윈도우는 다양한 버전의 DirectX를 포함하고 지원해 왔으며, 이를 통해 새로운 운영체제가 구형 API, 드라이버 및 하드웨어를 대체하며 단계적으로 폐지될 때까지 이전 DirectX 버전용으로 설계된 응용 프로그램을 계속 실행할 수 있게 한다.[103]

Direct3D 및 다이렉트사운드와 같은 API는 하드웨어와 상호 작용해야 하며, 이는 장치 드라이버를 통해 이루어진다. 하드웨어 제조업체는 특정 DirectX 버전의 장치 드라이버 인터페이스(DDI)에 맞는 드라이버를 작성해야 하며, 각 개별 하드웨어가 DirectX와 호환되는지 테스트해야 한다. 일부 하드웨어 장치는 DirectX 호환 드라이버만 제공한다(즉, 해당 하드웨어를 사용하려면 DirectX를 설치해야 함). 초기 버전의 DirectX에는 당시 사용 가능한 모든 DirectX 호환 드라이버의 최신 라이브러리가 포함되어 있었다. 그러나 이후에는 전체 라이브러리 대신 사용자 하드웨어와 관련된 드라이버만 다운로드할 수 있게 하는 웹 기반 윈도우 업데이트 드라이버 업데이트 시스템을 선호함에 따라 이 관행은 중단되었다.

DirectX 10 이전의 DirectX 런타임은 구형 드라이버와 하위 호환되도록 설계되었다. 즉, 새로운 버전의 API는 이전 버전의 DDI에 맞게 작성된 구형 드라이버와 상호 운용되도록 설계되었다. 응용 프로그램 프로그래머는 특정 하드웨어 기능과 연결된 복잡한 "cap bits" 시스템을 사용하여 사용 가능한 하드웨어 성능을 쿼리해야 했다. Direct3D 7 이전 버전은 모든 버전의 DDI에서 작동하지만, Direct3D 8은 최소 DDI 레벨 6을 요구하고 Direct3D 9는 최소 DDI 레벨 7을 요구한다.[104] 그러나 윈도우 비스타의 Direct3D 10 런타임은 대폭 업데이트된 DDI로 인해 구형 하드웨어 드라이버에서 실행될 수 없다. 이 DDI는 통합 기능 세트를 요구하며 "cap bits"의 사용을 중단했다.

Direct3D 10.1은 "기능 수준" 10_0 및 10_1을 도입하여 지정된 버전의 Direct3D API에 정의된 하드웨어 기능만 사용할 수 있도록 했다. Direct3D 11은 레벨 11_0 및 "10 레벨 9"를 추가했다. 10 레벨 9는 Direct3D 9 하드웨어에서 실행되도록 설계된 Direct3D 10 API의 하위 집합으로, 비디오 카드의 성능(저사양, 중사양, 고사양)에 따라 그룹화된 세 가지 기능 수준(9_1, 9_2, 9_3)을 갖는다. 런타임은 모든 WDDM 드라이버에 제공되는 Direct3D 9 DDI를 직접 사용한다. 기능 수준 11_1은 Direct3D 11.1과 함께 도입되었다.

닷넷 프레임워크

[편집]

2002년 마이크로소프트는 닷넷 프레임워크와 호환되는 DirectX 버전을 출시하여, 프로그래머가 관리 코드를 사용하는 C++나 C#과 같은 호환 언어를 사용해 닷넷 응용 프로그램 내에서 DirectX 기능을 활용할 수 있게 했다. 이 API는 "Managed DirectX"(줄여서 MDX)로 알려졌으며 기초가 되는 네이티브 DirectX API 성능의 98% 수준으로 작동한다고 주장되었다. 2005년 12월, 2006년 2월, 4월, 8월에 마이크로소프트는 이 라이브러리에 대한 연속적인 업데이트를 출시했으며, 이는 Managed DirectX 2.0이라는 베타 버전에서 정점에 달했다. Managed DirectX 2.0은 이전에는 여러 어셈블리에 흩어져 있던 기능을 단일 어셈블리로 통합하여 소프트웨어 개발자의 종속성 문제를 단순화했지만, 이후 이 버전의 개발은 중단되었으며 더 이상 지원되지 않는다. Managed DirectX 2.0 라이브러리는 2006년 10월 5일에 만료되었다.

2006년 GDC 기간 중 마이크로소프트는 XNA 프레임워크를 발표했다. 이는 DirectX, HLSL 및 기타 도구를 하나의 패키지로 쉽게 통합할 수 있게 하여 게임 개발을 돕기 위해 의도된 DirectX의 새로운 관리 버전(Managed DirectX와 유사하지만 동일하지는 않음)이다. 또한 엑스박스 360에서의 관리 코드 실행을 지원한다. XNA 게임 스튜디오 익스프레스 RTM은 2006년 12월 11일 윈도우 XP용 무료 다운로드로 제공되었다. DirectX 런타임과 달리 Managed DirectX, XNA 프레임워크 또는 엑스박스 360 API(XInput, XACT 등)는 윈도우의 일부로 제공되지 않았다. 개발자는 자신의 게임이나 응용 프로그램과 함께 런타임 구성 요소를 재배포해야 한다.

최신 XNA 릴리스를 포함한 마이크로소프트의 어떤 제품도 닷넷 프레임워크용 DirectX 10 지원을 제공하지 않는다.

관리 언어에서 DirectX를 사용하기 위한 다른 접근 방식은 다음과 같은 서드파티 라이브러리를 사용하는 것이다.

  • SlimDX: 닷넷 프레임워크 기반의 DirectX 프로그래밍을 위한 오픈 소스 라이브러리
  • SharpDX:[105][106]: 모든 윈도우 플랫폼에서 닷넷용 전체 DirectX API를 제공하는 오픈 소스 프로젝트로, 고성능 게임, 2D 및 3D 그래픽 렌더링뿐만 아니라 실시간 사운드 응용 프로그램 개발을 가능하게 한다.
  • DirectShow.NET: 다이렉트쇼 하위 집합용
  • Windows API CodePack for .NET Framework 보관됨 2월 14, 2011 - 웨이백 머신: 마이크로소프트의 오픈 소스 라이브러리

대안

[편집]

DirectX API 제품군에 대한 대안이 존재하며, OpenGL, 그 후속인 벌컨, 메탈맨틀Direct3D와 비교할 만한 가장 많은 기능을 갖추고 있다. 다른 API의 예로는 SDL, 알레그로, OpenMAX, OpenML, OpenAL, OpenCL, FMOD, SFML 등이 있다. 이러한 라이브러리 중 상당수는 크로스 플랫폼이거나 오픈 소스 코드베이스를 가지고 있다. 또한 와인에서 제공하는 것과 같이 동일한 API 제공을 목표로 하는 대안 구현체들도 있다. 나아가 ReactOS 개발자들은 "ReactX"라는 이름으로 DirectX 재구현을 시도하고 있다.

같이 보기

[편집]

각주

[편집]
  1. Dreamcast Technical Pages. June 1999.
  2. Microsoft Announces Direct3D 12 For Linux / WSL2. 2020년 5월 19일.
  3. Microsoft: The meaning of Xbox - The Economist. The Economist. 2005년 11월 24일.
  4. DirectX Help. computerhope.com.
  5. Where is the DirectX SDK?. microsoft.com. Microsoft.
  6. DeMaria, Rusel (2019). 11. The Manhattan Project. GAME OF X V.2. CRC Press. Windows needs to support; ... – Page flipping – Vertical blank synchronization – Tight sound mixing – Tight synchronization of sound and video events – Raw blting performance – Ability to set graphic mode ...
  7. Kelly, Christopher (1995년 6월 1일). Video for Windows and WinG. Dr. Dobb's Journal. 2022년 8월 9일에 확인함. Lion King software, for example, is a WinToon app. ... Like WinToon, this example uses WinG for drawing on the DIB.
  8. 1 2 3 4 5 Willetts, Samual (2020년 7월 27일). How DirectX defined PC gaming... with help from a shotgun-toting Bill Gates. PC 게이머. 2020년 12월 7일에 확인함.
  9. 1 2 3 4 Craddock, David (2020년 11월 14일). Bet on Black: How Microsoft and Xbox Changed Pop Culture, Part 1 - Chapter 8: Power of X. 섁뉴스. 2020년 12월 7일에 확인함.
  10. DirectX Then and Now. 2006년 2월 20일. 2008년 7월 5일에 원본 문서에서 보존된 문서. 2008년 8월 1일에 확인함. Alt URL
  11. Drummond, Michael (2020). Renegades of the Empire 1판. Three Rivers Press. 62쪽. ISBN 978-0609807453.
  12. USPTO Patent Public Search.
  13. Haggarty, James (2020년 12월 9일). Microsoft Misfit Helped Lead Company Into Game Market. 월스트리트 저널. 2020년 12월 9일에 확인함.
  14. Introduction. DirectDraw Application Programming Interface. Microsoft. 1995년 4월 20일.
  15. Introduction. DirectSound Application Programming Interface. Microsoft. 1995년 4월 20일.
  16. Introduction. DirectPlay Application Programming Interface. Microsoft. 1995년 4월 20일.
  17. Chapter 3: Joystick API Reference. DirectInput Application Programming Interface. Microsoft. 1995년 4월 20일.
  18. What is AutoPlay?. Building AutoPlay-Enabled CD-ROM Titles and Games. Microsoft. 1994년 11월 1일.
  19. Architectural Overview. DirectDraw Application Programming Interface. Microsoft. 1995년 4월 20일.
  20. 54 What is DCI?. stason.org.
  21. Raskin, Robin (August 1995). Pity the Poor Developer. PC 매거진. 2022년 8월 7일에 확인함.
  22. Craig Eisler's blog post about the frenzy to build DirectX 1 through 5 on craig.theeislers.com
  23. Jay Barnson (2006년 7월 13일). Tales of the Rampant Coyote. 2006년 7월 17일에 원본 문서에서 보존된 문서.
  24. Miller, Michael J. (December 1994). System Software WINNER Microsoft Windows NT Workstation, Version 3.5. PC 매거진. 2022년 8월 13일에 확인함.
  25. Kilgard, Mark (December 2008). OpenGL's Design Philosophy (slide). SlideShare. 2022년 8월 14일에 확인함.
  26. Kilgard, Mark J. (1996). OpenGL Programming for the X Window System. Addison-Wesley. 1–6쪽.
  27. Berkes, Otto (2015년 4월 12일). DirectX. Otto Berkes’ weblog. 2022년 8월 17일에 확인함.
  28. Hecker, Chris (April 1997). An Open Letter to Microsoft: Do the Right Thing for the 3D Game Industry (PDF). Game Developer Magazine. 2021년 1월 26일에 원본 문서 (PDF)에서 보존된 문서. 2022년 8월 29일에 확인함.
  29. J. Allard, PC Pro Interview 보관됨 2007-10-11 - 웨이백 머신, April 2004
  30. Windows Phone 8 adds DirectX, native development, easier app porting. 2012년 6월 20일. 2012년 6월 23일에 확인함.
  31. Add the HLSL-spirv cookbook. (#1618). GitHub. 2018년 10월 23일.
  32. 3D Animation of SPACE FIGHTER by DIRECT ANIMATION
  33. DirectX Media Objects. DirectShow. Microsoft Docs. June 5, 2019. DMOs have been superseded by Media Foundation Transforms (MFTs).
  34. DirectX 9: Using the Managed Direct3D Graphics API in .NET. microsoft.com. Microsoft. 2019년 10월 22일.
  35. Microsoft.Xna.Framework.Graphics Namespace. microsoft.com. Microsoft. 2011년 9월 29일.
  36. PIX.
  37. Programming Guide for the DirectX SDK. msdn.microsoft.com. 2010년 10월 18일에 원본 문서에서 보존된 문서. 2022년 1월 11일에 확인함.
  38. DirectX Frequently Asked Questions. microsoft.com. Microsoft.
  39. Chuck Walbourn (August 2009). Graphics APIs in Windows. MSDN. 2009년 10월 3일에 확인함.
  40. Albanesius, Chloe (2007년 8월 29일). Microsoft Unleashes First Service Pack for Vista. PC Magazine. 2008년 3월 19일에 원본 문서에서 보존된 문서. 2007년 8월 29일에 확인함.
  41. Microsoft Presents DirectX 10.1 Details at SIGGRAPH. 2007년 8월 7일. 2007년 9월 9일에 원본 문서에서 보존된 문서. 2007년 8월 27일에 확인함.
  42. Learn Network Inspire (PDF). AMD. 2012년 4월 10일에 원본 문서 (PDF)에서 보존된 문서. 2012년 12월 30일에 확인함.
  43. DirectX 10.1 Requires No New GPU. Windows Vista: The Complete Guide. 2008년 3월 5일. 2007년 10월 29일에 원본 문서에서 보존된 문서. 2008년 3월 5일에 확인함.
  44. What's next for DirectX? A DirectX 11 overview — A DirectX 11 overview. Elite Bastards. 2008년 9월 1일. 2008년 9월 4일에 원본 문서에서 보존된 문서. 2008년 9월 4일에 확인함.
  45. DirectX 11: A look at what's coming. bit-tech.net. 2008년 9월 17일.
  46. Windows 7 and D3D 11 release date
  47. MSDN Blogs. msdn.com. Microsoft. 2021년 8월 6일.
  48. Windows 8 Developer Preview Guide (PDF). 2011년 10월 7일에 원본 문서 (PDF)에서 보존된 문서.
  49. Platform Update for Windows 7 (Windows). Msdn.microsoft.com. 2014년 8월 9일에 확인함.
  50. Pooya Eimandar (2013). DirectX 11.1 Game Programming. Packt Publishing Ltd. 45쪽. ISBN 978-1-84969-481-0.
  51. 1 2 How to install the latest version of DirectX. Microsoft Support. Microsoft. 2017년 10월 27일에 확인함.
  52. Geometry Realizations Overview. microsoft.com. Microsoft. 2020년 8월 19일.
  53. Bennett Sorbo (2013년 6월 26일). What's New in Direct3D 11.2. Channel9 - BUILD 2013. around 20:00.
  54. Microsoft officially turns down Mantle. semiaccurate.com. 2013년 10월 16일.
  55. Chris Tector's segment of http://channel9.msdn.com/Blogs/DirectX-Developer-Blog/DirectX-Evolving-Microsoft-s-Graphics-Platform (starting approx. 18 minute in.)
  56. Smith, Ryan (2014년 9월 18일). Microsoft Details Direct3D 11.3 & 12 New Rendering Features. 아난드텍. 2014년 9월 21일에 원본 문서에서 보존된 문서. 2014년 11월 6일에 확인함.
  57. McMullen, Max (2014년 4월 2일). Direct3D 12 API Preview. Channel 9. 마이크로소프트.
  58. Moore, Bo (2015년 5월 5일). DirectX 12 will be able to use your integrated GPU to improve performance. PC 게이머 (Future US). 2015년 8월 22일에 확인함.
  59. Michaud, Scott (2015년 5월 4일). BUILD 2015: The Final DirectX 12 Reveal. PC Perspective. 2015년 9월 5일에 원본 문서에서 보존된 문서. 2015년 8월 22일에 확인함.
  60. Langley, Bryan (2015년 7월 29일). Windows 10 and DirectX 12 released!. MSDN DirectX Developer Blog. Microsoft. 2015년 8월 2일에 원본 문서에서 보존된 문서. 2015년 8월 22일에 확인함.
  61. Yeung, Andrew (2015년 4월 30일). DirectX 12 Multiadapter: Lighting up dormant silicon and making it work for you. MSDN DirectX Developer Blog. Microsoft. 2015년 8월 20일에 원본 문서에서 보존된 문서. 2015년 8월 22일에 확인함.
  62. Ryan Smith. AnandTech - Microsoft Announces DirectX 12: Low Level Graphics Programming Comes To DirectX. anandtech.com. 2014년 3월 27일에 원본 문서에서 보존된 문서.
  63. Yeung, Andrew (2014년 8월 13일). DirectX 12 – High Performance and High Power Savings. DirectX Developer Blog. 마이크로소프트. 2014년 8월 13일에 원본 문서에서 보존된 문서. 2014년 11월 6일에 확인함.
  64. Lauritzen, Andrew (2014년 8월 11일). SIGGRAPH 2014: DirectX 12 on Intel. Developer Zone. 인텔.
  65. Walton, Mark (2015년 8월 19일). DirectX 12 tested: An early win for AMD, and disappointment for Nvidia. Ars Technica UK. 2015년 8월 19일에 확인함.
  66. Xbox One chief warns gamers not to expect dramatic improvements from DirectX 12 - ExtremeTech. ExtremeTech. 2014년 6월 18일. 2014년 9월 30일에 확인함.
  67. Announcing Microsoft DirectX Raytracing!. Microsoft. 2018년 3월 19일.
  68. Microsoft ports DirectX 12 to Windows 7, giving some older PC games a performance boost (영어). PCWorld. 2019년 3월 13일. 2019년 4월 17일에 확인함.
  69. Announcing DirectX 12 Ultimate. 마이크로소프트. 2020년 3월 19일. 2020년 3월 20일에 확인함.
  70. Kerr, Chris (2020년 3월 20일). Microsoft launches DirectX 12 Ultimate to support next-gen graphics. Gamasutra. 2020년 3월 20일에 확인함.
  71. Chen, Raymond (2006). Etymology and History 1판. The Old New Thing. Pearson Education. 330쪽. ISBN 0-321-44030-7.
  72. What happened to DirectX 4? - The Old New Thing - Site Home - MSDN Blogs. Blogs.msdn.com. 2004년 1월 22일. 2012년 12월 30일에 확인함.
  73. Microsoft Ships Final Release of DirectX 6.0. Microsoft.com. 1998년 8월 7일. 2015년 8월 26일에 원본 문서에서 보존된 문서. 2019년 7월 19일에 확인함.
  74. Microsoft Ships DirectX 6.1. Microsoft.com. 1999년 2월 3일. 2015년 8월 26일에 원본 문서에서 보존된 문서. 2019년 7월 19일에 확인함.
  75. Microsoft DirectX – Frequently Asked Questions. ActiveWin.com. 2003년 2월 10일에 원본 문서에서 보존된 문서. 2019년 8월 30일에 확인함.
  76. Microsoft Ships Final Release of DirectX 7.0. Microsoft.com. 1999년 9월 22일. 2019년 7월 19일에 원본 문서에서 보존된 문서. 2019년 7월 19일에 확인함.
  77. Paul Thurrott (1999년 9월 21일). Microsoft releases DirectX 7.0. ITProToday. 2019년 4월 17일에 원본 문서에서 보존된 문서. 2019년 7월 19일에 확인함.
  78. Mielewczik, Michael. DirectX 7.0 – Nachbrenner für Spiele.. PC Intern. 12/1999. 124–125쪽.
  79. Download Center: DirectX / Version - 7.0a. Microsoft.com. 2000년 4월 8일에 원본 문서에서 보존된 문서. 2019년 7월 20일에 확인함.
  80. Maarten Goldstein (1999년 12월 18일). DirectX 7A released. 섁뉴스. 2019년 7월 20일에 원본 문서에서 보존된 문서. 2019년 7월 20일에 확인함.
  81. Paul Thurrott (2000년 9월 14일). Windows Millennium Edition (Windows Me) Review. ITProToday. 2018년 6월 13일에 원본 문서에서 보존된 문서. 2019년 7월 21일에 확인함.
  82. Admin (2000년 11월 10일). DirectX 8 leaks out. Geek.com. 2016년 7월 12일에 원본 문서에서 보존된 문서. 2019년 7월 20일에 확인함.
  83. DirectX 8.0a Redist. Microsoft.com. 2001년 1월 24일. 2001년 3월 31일에 원본 문서에서 보존된 문서. 2019년 7월 20일에 확인함.
  84. Mielewczik, Michael (2001). Brandaktuell – Das neue DirectX 8.0.. Windows Technical 2001 (München: MEK3 Verlag). 56–59쪽.
  85. Download DirectX End-User Runtime Web Installer from Official Microsoft Download Center. microsoft.com. Microsoft.
  86. Download DirectX End-User Runtimes (June 2010) from Official Microsoft Download Center. microsoft.com. Microsoft.
  87. Microsoft Corporation (2006년 10월 10일). Download DirectX End-User Runtimes from Official Microsoft Download Center. 마이크로소프트. 2020년 12월 14일에 원본 문서에서 보존된 문서. 2025년 3월 1일에 확인함.
  88. Microsoft Corporation (2006년 12월 13일). Download DirectX Software Development Kit from Official Microsoft Download Center. 마이크로소프트. 2016년 4월 8일에 원본 문서에서 보존된 문서. 2025년 3월 1일에 확인함.
  89. 1 2 3 Microsoft Corporation (2010년 6월 7일). Download details: DirectX End-User Runtimes (June 2010). Microsoft. 2011년 4월 14일에 원본 문서에서 보존된 문서. 2025년 3월 1일에 확인함.
  90. Microsoft Corporation (2010년 2월 5일). Download DirectX End-User Runtimes (February 2010) from Official Microsoft Download Center. 마이크로소프트. 2021년 1월 25일에 원본 문서에서 보존된 문서. 2025년 3월 1일에 확인함.
  91. Report: No DirectX 10 For Windows XP. GameDeveloper. 2006년 5월 30일. 2021년 12월 23일에 확인함.
  92. Microsoft upgrades Windows Vista with DirectX 11. pcgameshardware.com. 2009년 9월 15일. 2016년 3월 31일에 원본 문서에서 보존된 문서. 2009년 9월 15일에 확인함.
  93. Platform update for Windows 7 SP1 and Windows Server 2008 R2 SP1. Microsoft Support. Microsoft. 2013년 2월 27일. 2019년 5월 7일에 원본 문서에서 보존된 문서. 2019년 5월 7일에 확인함.
  94. What's New in Windows 10, build 15063 - UWP applications. 2022년 10월 20일.
  95. Announcing new DirectX 12 features. 2017년 11월 7일.
  96. NuGet Gallery | Microsoft.Direct3D.D3D12On7 1.1.0.
  97. DirectX-Specs.
  98. DirectX Raytracing and the Windows 10 October 2018 Update. 2018년 10월 2일.
  99. Variable Rate Shading: A scalpel in a world of sledgehammers. 2019년 3월 18일.
  100. Dynamic refresh rate – Get the best of both worlds. 2021년 6월 28일.
  101. WSL Graphics Architecture. X.Org Developers Conference 2020. 2021년 10월 8일에 원본 문서에서 보존된 문서. 2021년 10월 8일에 확인함.
  102. DirectX and Windows XP. 2008년 1월 18일에 원본 문서에서 보존된 문서.
  103. Which version of DirectX is on your PC?. support.microsoft.com. 2020년 9월 30일에 확인함.
  104. MSN. Minimum DDI requirements. Microsoft. 2012년 8월 2일에 확인함.
  105. SharpDX - Managed DirectX. 2023년 1월 16일에 원본 문서에서 보존된 문서. 2014년 9월 30일에 확인함.
  106. sharpdx/SharpDX. GitHub. 2014년 9월 30일에 확인함.

외부 링크

[편집]