Basicをサポート、Direct3Dの機能強化(ハードウェアT&Lのサポートなど)。2000に搭載され、NT系列でも最新機能が使えるようになった。Audioと呼ばれるようになった。2000および9x系で使用可能。原始的なプログラマブルシェーダーが搭載された。2000・Me・98用に単体配布もされている。このバージョンより95が対象外となった。各コンポーネントの機能強化が中心。高レベルシェーダー言語HLSLが導入された。2000・Me・98用に単体配布もされている。9.0のことを指すことになる。10ではなく9Exで描画されている。Vista以降でのみ利用可能。DXGIやジオメトリシェーダーが導入された。SP1以降でのみ利用可能。GPUの仮想化技術の実装。Shader)、マルチコアCPUに対応したマルチスレッディング処理、HDR圧縮などの新機能を実装している。高レベル2DグラフィックスAPIであるDirect2Dなども含まれる。WinRT相互運用やDirect2Dの大幅な機能強化なども含まれる。Updateとしてバックポートされた[23]。Oneでのみ利用可能[18]。11.3にも搭載される[24][25][26]。12はよりハードウェアに近いローレベルな制御を可能とするAPIとなった[27]。4はリリースされなかった。3がリリースされた後に、マイクロソフトは4と5の開発を同時に始めた。4は小幅な機能拡張を伴う短期リリース版となる予定だった。4を再利用しないこととなった[28]。95よりもむしろMS-DOSの方がゲームプログラミングに適していると考える傾向にあった[29][30]。「どのようなプログラムを作れるか」というのはOSの評価基準として大きなウェイトを占める。マイクロソフトの三人の社員、クレイグ・アイスラー、アレックス・ジョン、エリック・イングシュトロームは、この傾向を危惧していた。95ではメモリ保護のためにこれらの直接のアクセスが制限されてしまっていた。95におけるプログラムの自由度を上げる仕組みを作り上げなければならなかった。アイスラーとジョンとイングシュトロームの三人はこれらの問題解決に乗り出した。して作られたのがDirectXである。SDKとして1995年9月にリリースされた。32ビット用に移植したものである。このとき、マイクロソフトはATIの開発チームからゲームグラフィックの基本部分についての技術提供を受けた。これ以降、アイスラー(開発リーダー)、ジョン、イングシュトローム(プログラム責任者)の三人のチームを中心としてDirectXの開発が進められ、最終的にはこれ以降のすべてのWindowsにおいてDirectXがマルチメディア機能を担うことになった。1から5までの開発でのドタバタは、アイスラーのブログに詳しく書かれている[31]。NTに搭載してしまっていた[32][33]。OpenGLは、動作に(当時においては)ハイスペックな環境が必要だった上に、用途もCADやエンジニアリングに限られていた。そんな中Direct3Dは、ゲーム用としてはオーバースペック気味だったOpenGLの軽量版として設計され、ここからDirect3DとOpenGLとの、ユーザー同士の対立が始まった。)だとOpenGLユーザーから非難されることとなった。DirectXには、サウンドやジョイスティックなど、OpenGLがカバーできない機能が含まれていたため、DirectX上の他のAPIとOpenGLとを組み合わせて使われることが多かった。後にはOpenGLとSDLの組み合わせも多い。OpenGLはDirect3Dが先行して実装したジオメトリシェーダーやコンピュートシェーダーといった機能を数年遅れで取り入れるなど、Direct3Dの影響を受けている部分がある[34][35]。CEと共にDirectXが世界で初めて用いられた[36]。360にも搭載された。XboxのコンソールAPIはマイクロソフトとNVIDIA(Xboxのカスタムグラフィックチップの開発元)で共同開発された。8.1に近いが、コンソール上からアップデートができないところが他と異なる。XboxのコードネームはDirectXboxだったが、商品名は短縮してXboxとなった[37]。9.0cをリリースし、それ以降もDirectX一式の更新を続けている。2005以降にはDirectShow関連ファイルが含まれない)。SDKが必要である[38]。XP以前のOSにはバックポートされなかった。SDKから取り除かれた[39]。10.1がリリースされた[40]。11がリリースされた。10世代のハードウェアでもサポートする」との発表があった。APIを通してDirectComputeが利用できるようになった[41][42]。11のバックポートが含まれている。11.1/11.2がリリースされた。8.0/8.1に統合されることになった。8.0/8.1がバンドルされている。XP/Vista/7向けのDirectXアプリケーションを開発することも可能である[43]。SDKが別途必要となる。SP1向けのプラットフォーム更新プログラムKB2670838がリリースされた。11.1のバックポートも含まれている。Windowsが動作しなくなる[44]。7上では一部の機能が利用できない[45]。12のロードマップは長らく示されていなかった。追いつくだけでなく一部ではDirectXを超える機能をサポートし始めていた[46][47][48][49]。AMDは従来のDirectXやOpenGLよりもハードウェアに近いローレベルな制御を可能とする独自APIとして2013年にMantleを発表した[50][51]。11までの高レベルAPIを刷新し、オーバーヘッドを低減したゲームコンソールに近いローレベルな制御を可能とするグラフィックスAPIとなることが明らかにされた。10専用としてそれに標準搭載される形で2015年7月に正式リリースされ、コマンドキューベースの効率的なマルチスレッドレンダリング機能や、マルチGPUによる分散レンダリングの標準化など、近代的なハードウェア設計に沿う形で革新的な多数の機能を備えるに至っている[53][54]。12と平行してアップデートが継続されている。Direct3D自体はバッファ/テクスチャメモリの管理やプリミティブの描画といった比較的ローレベルかつ最低限の機能しか持たないが、D3DXには3Dグラフィックスプログラミングで必要となる算術演算、スプライト、メッシュ/テクスチャの読み書きといった比較的高レベルの機能が実装されている。11向けのD3DX11およびD3DCSX11が存在する。多くのD3DX機能はd3dx9_XX.dll、d3dx10_XX.dll、d3dx11_XX.dllなどのコンポーネントに、C/C++用の関数・クラスや、COMインターフェイスとして実装されている。SDKのバージョンによって必要となるDLLが異なるため、エンドユーザー環境でD3DXを使用するためにはDirectXエンドユーザーランタイムのインストールが必要となる。8.0では、D3DXは(D3DCSX11を除いて)廃止され、SDKに新しいバージョンが同梱されなくなっている[57]。[59]が標準提供されている。DirectXTK[1]、DirectXTex[2]、DirectXMesh[3]といったオープンソースのC++専用補助ライブラリが開発され、MITライセンスでGitHubにて公開されている(開発当初はMs-PLライセンスでCodePlexにて公開されていた)。UIアプリ)の開発ではD3DXを使用することはできず、D3DXを使用できるのはデスクトップアプリケーションのみとなっている。8.0以降には同梱されない。GitHubにて公開・メンテナンスされている[60]。呼ばれるシェーダーエフェクトフレームワークも、DXUT同様にGitHubに移管されている[61]。2012以降には、Direct3D/Direct2DベースのWinRTアプリケーションプロジェクトテンプレートが含まれている。Galleryに移管されている[63]。この更新によってD3DXなどの廃止されたライブラリへの依存も排除されている。12のサンプルおよびユーティリティライブラリが含まれている。Library[67][68][69]などが含まれている。Basic用のインターフェイスが提供されたものの、基本的にDirectXはC++言語専用のAPIである。Framework言語環境向けにラップされたマネージコードライブラリを紹介する。Frameworkで動作するアプリケーションからDirectXを呼び出すためのAPIである。Framework上で動作するどんな言語からでもDirectXを呼び出すことができる。Frameworkとの相互運用も強化されている。9を内部で使用している。置き換えられることになったが、そのXNAも2014年4月に開発・サポートを終了した[71]。あり、VB.NETやC++/CLIなどの他の.NET言語からは利用できない。DirectXの方向性とはやや異なるAPI(ゲームアプリケーション向けのフレームワーク)となっている。このため、Windowsプラットフォームにおける.NET用にDirectXのAPIをカプセル化した、SlimDXと呼ばれるライブラリが有志によって開発・提供されていたが、2012年1月を最後に更新されておらず、公式サイトも2019年現在は消失している。SlimDXはMDXのように、Direct3Dコアライブラリに加えてDirect3D拡張ライブラリであるD3DXもカバーする。Inputなどのマネージラッパーを提供するオープンソースのプロジェクトである[72]。ライセンス形態はMITライセンスとなる。SharpDXは従来のデスクトップアプリのほか、Windowsストアアプリからも利用できる。11をサポートする[73]。一部のレガシーAPIのサポートが終了している[74]。2019年5月をもって、開発を終了することがアナウンスされた[75]。Framework編集マイクロソフトによる公式のマネージコード用ライブラリ。10以降のサポートも含まれている。2009年4月からアルファ版が公開されていたが、同年8月6日にバージョン1.0に移行した。APIがサポートされている。サポートも含まれるが、DirectWriteとWICは部分的なサポートにとどまる。1.1のリンクは2015年9月現在消失しており、ダウンロードできなくなっている[77]が、NuGet経由で1.0.0をダウンロードできる[78]。「OpenGL#DirectXとの関係」も参照この節は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(2014年3月)この節には独自研究が含まれているおそれがあります。問題箇所を検証し出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。扱うためのAPI集合であるOpenGLとしばしば比較される。主な違いは、DirectXは基本的に3DグラフィックAPIのみに限定されるものではなく、サウンド処理やヒューマンデバイス入出力処理、ネットワーク処理までを内包するトータルなマルチメディアアプリケーション(代表的なものはゲームなど)の作成用API/SDKを指向するものである[79]一方、OpenGLは純然たる3DグラフィックAPIとして設計されている点にある。360等のゲーム機の動作する限られたプラットフォームでしかサポートされないのに対し、OpenGLはクロスプラットフォームであるという点である。DirectXはその出自から、主にWindows用ゲームの分野で使用されてきたが、Direct3Dに関しては同環境における標準的な3DグラフィックAPIとしても用いられるようになり、ゲームに限らない一般的な3DアプリケーションやOSのグラフィカルシェル環境にまで用いられるようになった[80]。Direct2D/DirectWriteはIEやFirefoxといったWebブラウザーにおけるレンダリングエンジンのハードウェアアクセラレーターとして採用されている。一方のOpenGLは、歴史的および機能的な理由から、3DCGの製作工程やCAD、データ可視化などの用途に、グラフィックワークステーションやEWS等のプロフェッショナルな分野で使用されてきた。パーソナルユーザー向けの3Dデスクトップ環境において標準的な描画APIとしても用いられており、これらの環境では3DビデオゲームのグラフィックAPIとしても標準的な立場にある。このように、両者をその用途によって明確に区別することは困難となりつつある。用ゲームの3DグラフィックAPIとしてOpenGLや、OpenGLを簡略化し3dfx社製グラフィックカードVoodooの専用APIとしたGlideがデファクトスタンダードとして用いられて来た歴史もあり、両者を比較する文脈においてよく言われるような単純な競合関係として説明することも、実態として困難と言える。Windows環境においては、3DCG製作ソフトにおける作業中のリアルタイムプレビュー表示に、Direct3DとOpenGLのうちどちらを使用するかをユーザーが選択できるものも存在する。Vista以降ではデフォルトでOpenGLはDirect3DのラッパーAPI[要出典]として実装されている。InterfaceメカニズムをMicrosoft独自の仕様で取り込んだ物[要出典]で、OpenGLアプリケーションを実行していても実はDirect3Dを駆動している場合がある(特に低価格グラフィックスボードはMicrosoftの実装によりOpenGLの実体をDirect3Dまかせにしている)[要出典]。適用されており、MicrosoftがDirectXの実装を推進する基盤となっている[要出典]。1.2以降の機能を使用することはできない。ESを間接的に実現するライブラリも存在する。GPGPU編集DirectXはバージョン11において、GPGPU用APIであるDirectComputeをDirect3Dの一部(コンピュートシェーダー)として包括的に実装している。OpenGLもまたバージョン4.3において、Direct3Dと同様のコンピュートシェーダーを導入している。Direct3D/OpenGLともに、GPGPUを含むクロスプラットフォームなヘテロ環境用アクセラレーターAPIであるOpenCLとの連携(相互運用)を行なう拡張機能が用意されている[88][89]。2013年8月16日閲覧。Runtime」Webインストーラの2011年4月版が登場。2013年8月16日閲覧。2013年8月16日閲覧。2013年8月17日閲覧。2012年5月9日閲覧。“米Microsoftは11月11日,...DirectXの新版8.0...を出荷開始した。西川善司の3DGE:新しく来るDirectXは「12」だけじゃない。2009年7月12日閲覧。2014年1月1日閲覧。2014年4月1日閲覧。Direct3Dアプリケーションからの移植性に関する記述がある。3.2のリリースは2009年。ESは据え置き型ゲーム機と同等以上に。Shader仕様をそのまま取り入れた旨の記述がある。事前にWINVERおよび_WIN32_WINNTマクロを適切に定義することで、旧OS向けに新SDKで開発できる。ESは据え置き型ゲーム機と同等以上に。EngineをLinux+OpenGL環境へ移植したのか。AMD独自グラフィックスAPI「Mantle」の詳細が明らかに。10環境におけるRadeonとAPUの優位性をAMDがアピール。インストールする方法この項目は、ソフトウェアに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。3.0のもとで利用可能です。プライバシーデスクトップ。