Windows SDKとDirectX SDKが統合されたWindows SDK 8.0では、D3DXは(D3DCSX11を除いて)廃止され、SDKに新しいバージョンが同梱されなくなっている[68]。廃止されたD3DXの代わりに、Windows SDK 8.0以降では算術ライブラリとしてDirectXMath[69][70]が標準提供されている。また、DirectXTK[1]、DirectXTex[2]、DirectXMesh[3] といったオープンソースのC++専用補助ライブラリが開発され、MITライセンスでGitHubにて公開されている(開発当初はMs-PLライセンスでCodePlexにて公開されていた)。なおWindows 8およびVisual Studio 2012以降でも旧DirectX SDKをインストールするか、DirectXエンドユーザーランタイムをインストールすることでD3DXを利用することは可能だが、Windowsストアアプリ(WinRTアプリ、Modern UIアプリ)の開発ではD3DXを使用することはできず、D3DXを使用できるのはデスクトップアプリケーションのみとなっている。
そのほか、旧DirectX SDKにはDXUTと呼ばれるフレームワークがソースコードごと同梱されており、SDKに付属するマイクロソフト公式のサンプル実装に使われていたほか、NVIDIA・インテル・AMDといったハードウェアベンダーが独自に作成・公開するDirectXサンプルにもフレームワークとしてしばしば使われていたが、DXUTもWindows SDK 8.0以降には同梱されない。DXUT自体はDirectX 11.x用のもの (DXUT11) がGitHubにて公開・メンテナンスされている[71]。Effects 11 (FX11) と呼ばれるシェーダーエフェクトフレームワークも、DXUT同様にGitHubに移管されている[72]。また、Visual Studio 2012以降には、Direct3D/Direct2DベースのWinRTアプリケーションプロジェクトテンプレートが含まれている。
旧DirectX SDKの最終バージョンJune 2010がサポートするVisual Studioはバージョン2008/2010のみ[73]だが、旧SDKに付属していたサンプルのうち、多くはVisual Studio 2012以降向けに更新されたものがMSDN Code Galleryに移管されている[74]。この更新によってD3DXなどの廃止されたライブラリへの依存も排除されている。MSDN Code Galleryの廃止に伴い、これらのサンプルはGitHubに移管された。
なお、DirectX Graphics SamplesがMITライセンスでGitHubにて公開されており、DirectX 12のサンプルおよびユーティリティライブラリが含まれている。例として、Direct3D 12用のC++ヘッダーベース補助ライブラリであるD3D12 Helper Library (d3dx12.h)[75][76]、DirectX 12 EngineのStarter KitであるMiniEngine[77]、Direct3D 12用メモリ管理ライブラリであるD3D12 Residency Starter Library[78][79][80]などが含まれている。 かつてDirectX 7.0およびDirectX 8.0でC++向け以外にVisual Basic用のインターフェイスが提供されたものの、基本的にDirectXはC++言語専用のAPIである。ここでは.NET Framework言語環境向けにラップされたマネージコードライブラリを紹介する。 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の開発環境はDirectX SDKに、実行環境はDirectXエンドユーザーランタイムに同梱されている[2]。 Managed DirectX 1.1の後継であるManaged DirectX 2.0の開発は中止され[81]、Microsoft XNA (XNA) に置き換えられることになった。 XNAおよびXNA Game StudioはWindows、Xbox 360、Windows Phone、およびZune用のマルチプラットフォーム対応ゲーム開発環境・実行環境である。対応するアプリケーション開発言語はC# (Visual C#) のみであり、VB.NETやC++/CLIなどの他の.NET言語からは利用できない。グラフィックスコンポーネントの内部ではDirect3D 9が使用されている。2014年4月に開発・サポートを終了した[82]。 Managed DirectX 2.0はキャンセルされたが、後継のXNAは基本的にC#からしか利用できない上、Xbox 360とWindows双方に互換性のあるコードを記述することを主目的として開発されており、Managed DirectXの方向性とはやや異なるAPI(ゲームアプリケーション向けのフレームワーク)となっている。このため、Windowsプラットフォームにおける.NET用にDirectXのAPIをカプセル化した、SlimDXと呼ばれるライブラリが有志によって開発・提供されていたが、2012年1月を最後に更新されておらず、公式サイトも2019年現在は消失している。SlimDXはMDXのように、Direct3Dコアライブラリに加えてDirect3D拡張ライブラリであるD3DXもカバーする。 SharpDXはDirectX Graphics、DirectX Audio、DirectX Inputなどのマネージラッパーを提供するオープンソースのプロジェクトである[83]。ライセンス形態はMITライセンスとなる。SharpDXは従来のデスクトップアプリのほか、Windowsストアアプリからも利用できる。
.NET Framework用ラッパー
Managed DirectX (MDX)
Microsoft XNA詳細は「Microsoft XNA」を参照
SlimDX詳細は「SlimDX」を参照
SharpDX
Size:130 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef