Microsoft DirectX

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Microsoft DirectX
Microsoft-DirectX-Logo-wordmark.svg
Microsoft Windows コンポーネント
詳細
標準提供 Windows 95 OSR2
Windows NT 4.0 SP3
以降のWindows

Microsoft DirectX(ダイレクトエックス)は、マイクロソフトが開発したゲームマルチメディア処理用のAPIの集合である[1]オーバーヘッドを少なくしたデバイスの仮想化・抽象化を提供する。WindowsXboxXbox 360Xbox One向けのようにマイクロソフト製のプラットフォームおよびデバイスにおいて広く利用されている。グラフィックスに関しては、DirectX (Direct3D) 互換のビデオカードを利用することにより、高品質の2次元・3次元コンピュータグラフィックスを高速にレンダリングできる。

DirectX Runtime[編集]

DirectXを使用したアプリケーションプログラムを実行する際、「xxx.dllが見つからなかったため、このアプリケーションを開始できませんでした。……」といったエラーに対処するには、DirectX Runtimeのアップデートが必要になる[2][3]。また、使用するOSによっては完全に実行不可能である場合もある(例えばWindows XPではDirectX 10以降を使用したアプリケーションは実行できない)。

DirectXのランタイムには大きく分けて2種あり、1つはd3d11.dllやd2d1.dllなどのような基本システムコンポーネントランタイム、そしてもう1つはd3dx11_43.dllやXAudio2_7.dllといったSDK依存の追加ランタイムである。ともにCOMコンポーネントであることに変わりはないが、前者はWindows OSのセットアップ時(プリインストール)、もしくはWindows Updateなどを通して最新のサービスパックや更新プログラムの適用時にインストールされる一方で、後者はアプリケーションの開発に使用したDirectX SDK(Windows SDK)のバージョンに依存し、またWindows Update経由でのインストールはできないため、マイクロソフトの配布サイトからDirectXエンドユーザーランタイムのセットアッププログラムをダウンロードして明示的にインストールするか、もしくはDirectXアプリケーションの開発者がアプリケーションのセットアッププログラムに必須ランタイムのインストール機能を含める必要がある[4]

Windows 8.x以降は前者のランタイムに加えて後者のランタイムのうち特定のバージョンが最初からシステムコンポーネントとしてプリインストールされており、Windowsストアアプリの開発では基本システムコンポーネントと、この特定のバージョンの追加ランタイムのみを使うことができる[5] [6]

DirectX のコンポーネント群[編集]

DirectXの機能のうち、大部分はCOMインターフェイスの形で提供されている[7]。 DirectXのランタイムライブラリSDKは、いずれもマイクロソフトのウェブサイトから無償でダウンロードできるが、プロプライエタリソースコードは非公開である。また、単独のDirectX SDKは「June 2010」が最終バージョンであり、Windows 8向けの開発キットであるWindows SDK 8.0がリリースされた際にWindows SDKへと統合された[8]

  • DirectX Graphics: DirectX 8からの名称。
  • DirectX Audio: DirectX 8からの名称。
  • DirectX Input
  • DirectPlay英語版: ネットワーク通信。8以降更新されていない。
  • DirectShow: 各種音声動画の再生・作成。APIの提供はDirectX SDKからWindows SDKに移行されている。
  • DirectAnimation: 2D webアニメーション用。
  • DirectTransform: webのインタラクティブ性と高レベルな3DグラフィックスのためのDirect3D Retained Mode。
  • DirectX Media Objects: エンコーダー、デコーダー、エフェクトといったストリーミングオブジェクトのサポート。
  • DirectSetup: DirectXランタイムのセットアップ用であり、正確にはAPIではない。
  • DirectX Video Acceleration (DXVA) : 動画処理 API。バージョン1.0はDirectShowの一部だったが、Windows Vistaから利用可能なバージョン2.0はDirectShowやMedia Foundationからは独立している。

歴史[編集]

1994年終盤、マイクロソフトWindows 95をリリースしようとしていたが、当時のプログラマーは、Windows 95よりもむしろMS-DOSの方がゲームプログラミングに適していると考える傾向にあった[9][10]。「どのようなプログラムを作れるか」というのはOSの評価基準として大きなウェイトを占める。マイクロソフトの三人の社員、クレイグ・アイスラー、アレックス・ジョン、エリック・イングシュトロームは、この傾向を危惧していた。

MS-DOSの環境下では、プログラムはビデオカード、キーボード、マウス、サウンドカードなど様々なシステムパーツに直接アクセスできていたが、Windows 95ではメモリ保護のためにこれらの直接のアクセスが制限されてしまっていた。あと数ヶ月でWindows 95がリリースされるという中で、マイクロソフトはWindows 95におけるプログラムの自由度を上げる仕組みを作り上げなければならなかった。アイスラーとジョンとイングシュトロームの三人はこれらの問題解決に乗り出した。こうして作られたのがDirectXである。

DirectXの最初のバージョンはWindows Games SDKとして1995年9月にリリースされた。これはWindows3.1にあったWinG APIとDCI (Display Control Interface) とを32ビット用に移植したものである。このとき、マイクロソフトはATIの開発チームからゲームグラフィックの基本部分についての技術提供を受けた。これ以降、アイスラー(開発リーダー)、ジョン、イングシュトローム(プログラム責任者)の三人のチームを中心としてDirectXの開発が進められ、最終的にはこれ以降のすべてのWindowsにおいてDirectXがマルチメディア機能を担うことになった。DirectX 1から5までの開発でのドタバタは、アイスラーのブログに詳しく書かれている[11]

DirectXの登場より前に、マイクロソフトはOpenGLをWindows NTに搭載してしまっていた[12][13]。OpenGLは、動作に(当時においては)ハイスペックな環境が必要だった上に、用途もCADやエンジニアリングに限られていた。そんな中Direct3Dは、ゲーム用としてはオーバースペック気味だったOpenGLの軽量版として設計され、ここからDirect3DとOpenGLとの、ユーザー同士の対立が始まった。Windows専用だったDirect3Dはマイクロソフトの3E戦略(embrace, extend, extinguish―吸収、拡大、根絶)だとOpenGLユーザーから非難されることとなった。しかしDirectXには、サウンドやジョイスティックなど、OpenGLがカバーできない機能が含まれていたため、DirectX上の他のAPIとOpenGLとを組み合わせて使われることが多かった。後にはOpenGLとSDLの組み合わせも多い。 現在のOpenGLはDirect3Dが先行して実装したジオメトリシェーダーやコンピュートシェーダーといった機能を数年遅れで取り入れるなど、Direct3Dの影響を受けている部分がある[14][15]

ゲーム機では、セガドリームキャストWindows CEと共にDirectXが世界で初めて用いられた[16]。その後、マイクロソフトのXboxXbox 360にも搭載された。XboxのコンソールAPIはマイクロソフトとNVIDIA(Xboxのカスタムグラフィックチップの開発元)で共同開発された。Xbox APIはDirectX 8.1に近いが、コンソール上からアップデートができないところが他と異なる。XboxのコードネームはDirectXboxだったが、商品名は短縮してXboxとなった[17]

2002年にマイクロソフトは、以前よりもはるかに長いシェーダープログラムを扱えるシェーダーモデル2.0(頂点シェーダー2.0、ピクセルシェーダー2.0)と高級シェーディング言語HLSLをサポートしたDirectX 9をリリースした。2004年8月にはさらに機能を強化したシェーダーモデル3.0を導入したDirectX 9.0cをリリースし、それ以降もDirectX一式の更新を続けている。

DirectX SDK February 2005を最後に、DirectShowはDirectX SDKから取り除かれ、代わりにMicrosoft Platform SDKへ移動された(DirectX SDK April 2005以降にはDirectShow関連ファイルが含まれない)。しかしPlatform SDKに付属するDirectShowのサンプルをビルドするためにはDirectX SDKが必要である[18]

2006年にリリースされたDirectX 10は、WDDM/DWM/DXGI 1.0とともにWindows Vista専用として提供され、Windows XP以前のOSにはバックポートされなかった。

DirectX SDK August 2007を最後に、DirectMusicはDirectX SDKから取り除かれた[19]

Windows 7にてGPGPUのために導入されたAPI、DirectComputeについては、当初はDirectX 11(シェーダーモデル5.0)世代のハードウェアのみに対して提供される予定だったが、2008年11月に開催されたハードウェア技術者向け国際会議「WinHEC 2008」にて「DirectX 10世代のハードウェアでもサポートする」との発表があった。 最終的に、DirectX 10.x(シェーダーモデル4.x)世代のGPUでも、DirectX 11 APIを通してDirectComputeが利用できるようになった[20] [21]

DirectX 11.0のリリース後、Windows 8/8.1向けにそのマイナーアップデート版としてDirectX 11.1/11.2がリリースされたが、メジャーアップデートとなるDirectX 12のロードマップは長らく示されていなかった。その間、OpenGLは組み込み向けのOpenGL ESとともに順調にバージョンアップを重ね、DirectX (Direct3D) に追いつくだけでなく一部ではDirectXを超える機能をサポートし始めていた[22] [23] [24] [25]。また、AMDは従来のDirectXやOpenGLよりもハードウェアに近いローレベルな制御を可能とする独自APIとして2013年にMantle英語版を発表した[26] [27]。DirectXが最先端のリアルタイムグラフィックスシーンを牽引していた時代から変化を迎えつつあったが、GDC 2014ではついにDirectX 12の発表が行なわれ[28]、特にDirect3D 12に関してはDirect3D 11までの高レベルAPIを刷新し、オーバーヘッドを低減したゲームコンソールに近いローレベルな制御を可能とするグラフィックスAPIとなることが明らかにされた。DirectX 12はWindows 10に標準搭載される形で2015年7月に正式リリースされ、コマンドキューベースの効率的なマルチスレッドレンダリング機能や、マルチGPUによる分散レンダリングの標準化など、近代的なハードウェア設計に沿う形で革新的な多数の機能を備えるに至っている[29] [30]

リリース履歴[編集]

DirectX 11.2はWindows 8.1/Xbox One専用のバージョンである[31]Windows 7(一部DirectX 11.1に対応)/Windows VistaにおいてはDirectX 11.0、Windows XP2000/Me/98/98SEはDirectX 9(9.0c)、Windows 95はDirectX 8(8.0a)が最新バージョンとなる。ただしPC-9800シリーズの場合はDirectX 7(7.0a)が最新バージョンであり、それ以上のバージョンは制限を解除しないとインストールできないようになっている[32]。またWindows NT 4.0ではSP3以降に付随するDirectX 3相当機能が最新バージョンとなる。

バージョン 概要 日付
WinG、Display Control Interface Windows 3.1時代。
DirectX 1.0 ゲーム作成用のAPI集Game SDKとして発表された。 1995年10月
DirectX 2.0 Direct3D (Immediate Mode, Retained Mode) の登場。 1996年6月
DirectX 3.0[33] DirectSound3D登場、DirectInputの統合。Windows NT 4.0ではSP3以降に同梱。 1996年9月25日
ActiveMovie1 DirectShow の前身。ActiveX の1コンポーネントであり、DirectX には含まれない。 1996年11月5日
DirectX 4.0 登場予定だったが、DirectX 3.0からはわずかな変更であり、既にDirectX 5.0がロードマップ上にあったため、ベンダーの要望によりキャンセルされた。
DirectX 5.0 Direct3D に DrawPrimitive(OpenGL のようなプリミティブ単位の描画機能)が登場。Windows 98 には DirectX 5.2 が搭載された。 1997年8月4日
DirectX Media DirectShow および DirectAnimation のみ頒布。「DirectX」は総称だが、特に区別する場合は「DirectX Foundation」「DirectX Media」と使い分ける事がある。 1997年12月1日
DirectX 6.0 3D描画向けの「Direct3D」の強化、AMD提唱の3D向け命令セット「AMD 3DNow!」への対応や、ジオメトリパイプラインの見直し、テクスチャデータ圧縮機能のサポートなどにより高速化が図られたほか、シングルパス・マルチテクスチャやバンプマッピングのサポートなど表現力の向上。 1998年8月7日
DirectX 6.1 DirectMusic登場。SSEのサポート。Windows 98 SEに搭載。 1999年2月3日
DirectX 7.0 Visual Basicをサポート、Direct3Dの機能強化(ハードウェアT&Lのサポートなど)。Windows 2000に搭載され、NT系列でも最新機能が使えるようになった。 1999年9月22日
DirectX 7.1 Windows Meに搭載された。 2000年
DirectX 8.0 DirectDrawとDirect3Dが統合されてDirectX Graphicsに、DirectSoundとDirectMusicが統合されてDirectX Audioと呼ばれるようになった。Windows 2000および9x系で使用可能。原始的なプログラマブルシェーダーが搭載された。 2000年11月9日
DirectX 8.1 Windows XPに搭載。Windows 2000・Me・98用に単体配布もされている。このバージョンより95が対象外となった。 2001年
DirectX 8.2 Windows 2000およびWindows XPで使用可能。短期間配布された。 2002年
DirectX 9.0 各コンポーネントの機能強化が中心。高レベルシェーダー言語HLSLが導入された。また、マイナーチェンジとなるDirectX 9.0cがWindows XP SP2に搭載された。Windows 2000・Me・98用に単体配布もされている。
この頃から、DirectXのバージョンが上がっても、更新されるのはDirect3Dだけとなりつつあるため、DirectX 9.0ではなくDirect3D 9.0と呼ばれるようになる。
2002年12月20日
Direct3D 9.0Ex Windows Vistaに搭載されている、Direct3D 9.0の改良版。Windows VistaのWindows AeroはDirect3D 10ではなく9Exで描画されている。 2007年
DirectX 10.0 Windows Vista以降でのみ、利用可能。DXGIやジオメトリシェーダーが導入された。 2007年
DirectX 10.1 Windows Vista SP1以降でのみ、利用可能。GPUの仮想化技術の実装。 2008年
DirectX 11.0 Windows Vista SP2 + Platform UpdateとWindows 7以降で利用可能。高精細な描画を可能にするテッセレーションのサポートや新たな命令セットが追加されたほか、GPUコンピューティングを実現するDirectCompute (DirectX Compute Shader)、マルチコアCPUに対応したマルチスレッディング処理、HDR圧縮などの新機能を実装している。 2009年
DirectX 11.1 Windows 8以降で利用可能。一部機能はWindows 7にもPlatform Updateとしてバックポートされた[34] 2012年
DirectX 11.2 Windows 8.1Xbox Oneでのみ利用可能[31] 2013年
DirectX 11.3 DirectX 12に搭載される新機能は、同時期に提供される従来からの高レベルAPIのマイナーチェンジとなるDirectX 11.3にも搭載されることが予定されている。[35] [36] [37]
DirectX 12 よりハードウェアに近いローレベルな制御を可能とするAPIとなることが予定されている[38]。Windowsのほか、Xbox OneおよびWindows Phoneにも対応予定[39]

DirectX 4はリリースされなかった。Raymond Chenの著書The Old New Thing(邦訳:Windowsプログラミングの極意 歴史から学ぶ実践的Windowsプログラミング!)によると、DirectX 3がリリースされた後に、マイクロソフトは4と5の開発を同時に始めた。Version 5がより実りの多いものになる予定だったのに対し、version 4は小幅な機能拡張を伴う短期リリース版となる予定だった。DirectX 4に実装される予定の機能はゲーム開発者の興味をそそらずに棚上げされる結果となり、またドキュメントはこれら2つのバージョンを明確に区別して執筆しており、マイクロソフトは(version 5の)機能はversion 5のためのものだと記述するため、version 4を再利用しないこととなった[40]

補助ライブラリ[編集]

DirectXにはマイクロソフト純正の補助ライブラリとして、D3DX英語版 (Direct3D Extension) と呼ばれるDirect3D拡張ライブラリが存在する[41] [42]。Direct3D自体はバッファ/テクスチャメモリの管理やプリミティブの描画といった比較的ローレベルかつ最低限の機能しか持たないが、D3DXには3Dグラフィックスプログラミングで必要となる算術演算、スプライトメッシュテクスチャの読み書きといった比較的高レベルの機能が実装されている。主にDirect3D 9向けのD3DX9、Direct3D 10向けのD3DX10、そしてDirect3D 11向けのD3DX11およびD3DCSX11が存在する。多くのD3DX機能はd3dx9_XX.dll、d3dx10_XX.dll、d3dx11_XX.dllなどのコンポーネントに、C/C++用の関数・クラスや、COMインターフェイスとして実装されている。D3DXランタイムはDirect3D本体とは異なり、前述のようにWindows OSのセットアップやWindows Updateによるシステム更新ではインストールされず、またアプリケーションの開発に使用したDirectX SDKのバージョンによって必要となるDLLが異なるため、エンドユーザー環境でD3DXを使用するためにはDirectXエンドユーザーランタイムのインストールが必要となる。

Windows SDKとDirectX SDKが統合されたWindows SDK 8.0では、D3DXは(D3DCSX11を除いて)廃止され、SDKに新しいバージョンが同梱されなくなっている[43]。廃止されたD3DXの代わりに、DirectXTKDirectXTexDirectXMeshといったオープンソースの補助ライブラリが開発され、CodePlexにて公開されている。なおWindows 8以降でも旧DirectX SDKをインストールするか、DirectXエンドユーザーランタイムをインストールすることでD3DXを利用することは可能だが、Windows 8以降のWindowsストアアプリWinRTアプリ、Modern UIアプリ)の開発ではD3DXを使用することはできず、D3DXを使用できるのはデスクトップアプリケーションのみとなっている。

.NET用ラッパー[編集]

かつてDirectX 7.0でC++向け以外にVisual Basic用のインターフェイスが提供されたものの、以降のバージョンのDirectXはC++言語専用のAPIである。ここでは.NET言語環境向けにラップされたマネージコードライブラリを紹介する。

Managed DirectX (MDX)[編集]

Managed DirectXは.NET Frameworkで動作するアプリケーションからDirectXを呼び出すためのAPIである。Managed DirectXを使うと、.NET Framework上で動作するどんな言語からでもDirectXを呼び出すことができる。また、テクスチャオブジェクトをSystem.Drawing.Bitmapオブジェクトから生成できるなど、.NET Frameworkとの相互運用も強化されている。なお、Managed DirectX 1.1のグラフィックスコンポーネントはDirect3D 9およびD3DX 9を内部で使用している。Managed DirectX 1.1の後継であるManaged DirectX 2.0の開発は中止され[44]Microsoft XNA (XNA) に置き換えられることになったが、そのXNAも2014年4月に開発・サポートを終了することが報じられている[45]

Microsoft XNA[編集]

XNAおよびXNA Game StudioはWindows、Xbox 360Windows Phone、およびZune用のマルチプラットフォーム対応ゲーム開発環境・実行環境である。対応するアプリケーション開発言語はC# (Visual C#) のみであり、VB.NETやC++/CLIなどの他の.NET言語からは利用できない。グラフィックスコンポーネントの内部ではDirect3D 9が使用されている。

SlimDX[編集]

Managed DirectXはキャンセルされたが、後継のXNAは基本的にC#からしか利用できない上、Xbox 360とWindows双方に互換性のあるコードを記述することを主目的として開発されており、Managed DirectXの方向性とはやや異なるAPI(ゲームアプリケーション向けのフレームワーク)となっている。このため、Windowsプラットフォームにおける.NET用にDirectXのAPIをカプセル化した、SlimDXと呼ばれるライブラリが有志によって開発・提供されている。SlimDXはMDXのように、Direct3Dコアライブラリに加えてDirect3D拡張ライブラリであるD3DXもカバーする。

SharpDX[編集]

SharpDXはDirectX Graphics、DirectX Audio、DirectX Inputなどのマネージラッパーを提供するオープンソースのプロジェクトである[46]。SharpDXは従来のデスクトップアプリのほか、Windowsストアアプリからも利用できる。Windows 10と同時に正式リリースされる予定のDirectX 12 (Direct3D 12) のサポートも別ブランチで進められている[47]

Windows API Code Pack for Microsoft .NET Framework[編集]

Windows VistaやWindows 7の拡張的なUI機能等の対応が主な内容だが、DirectX 10以降のサポートも含まれている。2009年4月からアルファ版が公開されていたが、同年8月6日にバージョン1.0に移行した。Windows API Code Packでは、以下のAPIがサポートされている。

  • Direct3D 11.0
  • Direct3D 10.0/10.1
  • DXGI 1.0/1.1
  • Direct2D 1.0
  • DirectWrite
  • Windows Imaging Component (WIC) APIs.

(DirectWrite and WICは一部の対応)

OpenGLとの関係[編集]

DirectXのうちDirectX Graphics (Direct3D) は、同じくリアルタイム3次元コンピュータグラフィックス (3DCG) を扱うためのAPI集合であるOpenGLとしばしば比較される。

用途[編集]

主な違いは、DirectXは基本的に3DグラフィックAPIのみに限定されるものではなく、サウンド処理やヒューマンデバイス入出力処理、ネットワーク処理までを内包するトータルなマルチメディアアプリケーション(代表的なものはゲームなど)の作成用API/SDKを指向するものである[48]一方、OpenGLは純然たる3DグラフィックAPIとして設計されている点にある。またDirectXはWindowsや、Windows系OSを採用したDreamcastやXbox、Xbox 360等のゲーム機の動作する限られたプラットフォームでしかサポートされないのに対し、OpenGLはクロスプラットフォームであるという点である。

DirectXはその出自から、主にWindows用ゲームの分野で使用されてきたが、Direct3Dに関しては同環境における標準的な3DグラフィックAPIとしても用いられるようになり、ゲームに限らない一般的な3Dアプリケーションや、オペレーティングシステムのグラフィカルシェル環境にまで用いられるようになった[49]。また、Direct2D/DirectWriteはIEFirefoxといったWebブラウザーにおけるレンダリングエンジンのハードウェアアクセラレーターとして採用されている。

一方のOpenGLは、歴史的および機能的な理由から、3DCGの製作工程やCAD、データ可視化などの用途に、グラフィックワークステーションやEWS等のプロフェッショナルな分野で使用されてきた。またパーソナルユーザー向けの3Dデスクトップ環境において標準的な描画APIとしても用いられており、これらの環境では3DビデオゲームのグラフィックAPIとしても標準的な立場にある。このように、両者をその用途によって明確に区別することは困難となりつつある。

また、Direct3Dが標準的な3DグラフィックAPIとして定着したPC/Windows系の環境においてもOpenGLは今なお共存しており、実際にDirectXの登場以前から登場初期頃には、PC (Windows) 用ゲームの3DグラフィックAPIとしてOpenGLや、OpenGLを簡略化し3dfx社製グラフィックカードVoodooの専用APIとしたGlideがデファクトスタンダードとして用いられて来た歴史もあり、両者を比較する文脈においてよく言われるような単純な競合関係として説明することも、実態として困難と言える。Windows環境においては、3DCG製作ソフトにおける作業中のリアルタイムプレビュー表示に、Direct3DとOpenGLのうちどちらを使用するかをユーザーが選択できるものも存在する。

グラフィックスドライバー[編集]

WindowsがOS標準機能でサポートするOpenGLバージョンは1.1まで[50]だが、Windows Vista以降ではデフォルトでOpenGLはDirect3DのラッパーAPI[要出典]として実装されている。ハードウェアベンダーが提供しているOpenGL対応ドライバー(ICD, Installable Client Driver)をインストールするまで、OpenGL APIによってハードウェアアクセラレーターを直接駆動することはできない[51] [52] [53]デバイスドライバにより、任意のレイヤーからラッパーAPIからネイティブAPIに置き換える、UNIXのDevice Independent InterfaceとDevice Dependent InterfaceメカニズムをMicrosoft独自の仕様で取り込んだ物[要出典]で、OpenGLアプリケーションを実行していても実はDirect3Dを駆動している場合がある(特に低価格グラフィックスボードはMicrosoftの実装によりOpenGLの実体をDirect3Dまかせにしている)[要出典]この機構はOpenGLのほかにGraphics Device Interface (GDI) にも適用されており、MicrosoftがDirectXの実装を推進する基盤となっている[要出典]

また、WindowsではICDをインストールするまで、(たとえハードウェアがOpenGL 1.2以降をサポートしていても)OpenGL 1.2以降の機能を使用することはできない。

ANGLE[編集]

GoogleのANGLE[54]プロジェクトのように、OpenGLそのものではなく、内部でDirect3Dを使用したラッパーを経由して、Windows上でWebGLOpenGL ESを間接的に実現するライブラリも存在する。ANGLEはハードウェアベンダーのOpenGLドライバー(ICD)を経由せず、Direct3Dを利用してOpenGL APIを実現している[55]

GPGPU[編集]

DirectXはバージョン11において、GPGPU用APIであるDirectComputeをDirect3Dの一部(コンピュートシェーダー)として包括的に実装している。OpenGLもまたバージョン4.3において、Direct3Dと同様のコンピュートシェーダーを導入している。なお、Direct3D/OpenGLともに、GPGPUを含むクロスプラットフォームなヘテロ環境用アクセラレーターAPIであるOpenCLとの連携(相互運用)を行なう拡張機能が用意されている[56] [57]

脚注[編集]

  1. ^ IT用語辞典
  2. ^ 「PCゲームのお作法」第1回”. 2013年8月16日閲覧。
  3. ^ 「DirectX Runtime」Webインストーラの2011年4月版が登場。今回もアップデートはとくになし”. 2013年8月16日閲覧。
  4. ^ ゲーム開発者のための DirectX のインストール
  5. ^ XInput Versions
  6. ^ XAudio2 Versions
  7. ^ COM による DirectX のプログラミング
  8. ^ Where is the DirectX SDK?
  9. ^ Hecker, Chris (1994年9月). "Tour of WinG". Game Developer (CMP / United Business Media). 
  10. ^ David, Carddock (2007年3月28日). “Alex St John Interview”. Shack News. 2014年1月1日閲覧。
  11. ^ Craig's Musings: DirectX Then and Now (Part 1)
  12. ^ Prosise, Jeff (1994年10月). "Advanced 3-D Graphics for Windows NT 3.5:Introducing the OpenGL Interface, Part I". Microsoft Systems Journal Volume 9 Issue 10 (Microsoft). 
  13. ^ OpenGL Interface in Windows NT 3.5”. Microsoft (2006年10月31日). 2014年4月1日閲覧。
  14. ^ IGDA Japan chapter - Khronos Group、OpenGL 3.2を発表 12ヵ月で3回目のバージョンアップ Direct3Dアプリケーションからの移植性に関する記述がある。ジオメトリシェーダーを搭載したDirectX 10のリリースは2006年、対するOpenGL 3.2のリリースは2009年。
  15. ^ 4Gamer.net ― OpenGLはDirectX 11を超え,OpenGL ESは据え置き型ゲーム機と同等以上に。Khronosの最新動向レポート DirectX 11のCompute Shader仕様をそのまま取り入れた旨の記述がある。
  16. ^ WindowsCE SDK for Dreamcast
  17. ^ J. Allard, PC Proのインタビュー 2004年4月
  18. ^ Release Notes (MSDN)
  19. ^ DirectX SDKs of a certain age - Games for Windows and the DirectX SDK - Site Home - MSDN Blogs
  20. ^ AMDのGPGPU戦略は新章へ - ATI Streamの展望、DirectX Compute Shaderの衝撃 (4) 今後のGPGPU動向は? | マイナビニュース
  21. ^ ASCII.jp:GPGPUをWindowsでサポートする「DirectCompute」 (2/2)|あなたの知らないWindows
  22. ^ 4Gamer.net ― [SIGGRAPH]Khronos,OpenGL 4.1を発表。カンファレンスからその詳細を確認する
  23. ^ 4Gamer.net ― [SIGGRAPH]ついにDirectX 11を凌駕した!? Khronosに聞く「OpenGL 4.2」の正体
  24. ^ 4Gamer.net ― OpenGLはDirectX 11を超え,OpenGL ESは据え置き型ゲーム機と同等以上に。Khronosの最新動向レポート
  25. ^ 4Gamer.net ― ValveはなぜSource EngineをLinux+OpenGL環境へ移植したのか。GTC 2013のValveセッションレポート
  26. ^ 2013*年末企画『AMDの新グラフィックAPI“Mantle”その一連の動向に迫る』 | Game*Spark - 国内・海外ゲーム情報サイト
  27. ^ AMD独自グラフィックスAPI「Mantle」の詳細が明らかに。理論上はGeForceのMantle対応も可能!? - 4Gamer.net
  28. ^ [GDC 2014]DirectX 12,ついに発表。その特徴に迫る - 4Gamer.net
  29. ^ Windows 10 | GeForce
  30. ^ Windows 10環境におけるRadeonとAPUの優位性をAMDがアピール。DX12世代ではマルチGPUのトレンドが変わるか - 4Gamer.net
  31. ^ a b Microsoftの開発者向けイベント「Build 2013」で見えたWindows 8.1。「DirectX 11.2」とUI面の改良がポイントに”. 2013年8月16日閲覧。
  32. ^ DirectX8 For NEC98”. ベクター. 2013年8月17日閲覧。
  33. ^ 米Microsoft、「DirectX 3.0」を発表”. PC Watch (1996年9月26日). 2012年5月9日閲覧。
  34. ^ DirectX 11.1 and Windows 7 - Games for Windows and the DirectX SDK - Site Home - MSDN Blogs
  35. ^ DirectX 12's new rendering features are coming to DirectX 11.3 too | PC Gamer
  36. ^ DirectX 12 Lights Up NVIDIA’s Maxwell Launch - DirectX Developer Blog - Site Home - MSDN Blogs
  37. ^ 西川善司の3DGE:新しく来るDirectXは「12」だけじゃない。突如浮上した「DirectX 11.3」とは何か? - 4Gamer.net
  38. ^ Direct3D 12 特集 | iSUS
  39. ^ 【後藤弘茂のWeekly海外ニュース】GPUの進化に対応したMicrosoftの次世代API「DirectX 12」の背景 - PC Watch
  40. ^ What happened to DirectX 4?”. The Old New Thing (2004年1月22日). 2009年7月12日閲覧。
  41. ^ Direct3D エクステンション (D3DX) C/C++ リファレンス
  42. ^ D3DX (Direct3D 9)
  43. ^ Living without D3DX - Games for Windows and the DirectX SDK - Site Home - MSDN Blogs
  44. ^ .NET開発者のためのDirectX連携手法 - @IT
  45. ^ マイクロソフト、ゲーム開発環境「XNA」を2014年4月に終了 | GGSOKU - ガジェット速報
  46. ^ SharpDX - Managed DirectX
  47. ^ SharpDX - Direct3D12 for .NET - News
  48. ^ DirectX (ダイレクトエックス) 最新ダウンロード/総合情報 | Microsoft
  49. ^ Aero Glass: Create Special Effects With The Desktop Window Manager
  50. ^ OpenGL (Windows)
  51. ^ OpenGL and Windows Vista - Windows Performance Blog - Site Home - MSDN Blogs
  52. ^ DailyTech - OpenGL Now Natively Supported in Windows Vista
  53. ^ Loading an OpenGL Installable Client Driver (Windows Drivers)
  54. ^ angleproject - ANGLE: Almost Native Graphics Layer Engine - Google Project Hosting
  55. ^ Windows上でANGLEを使って、WebGLレンダリング
  56. ^ Khronos OpenCL Registry
  57. ^ OpenCL 1.2 Reference Pages

関連項目[編集]

外部リンク[編集]