Microsoft_DirectX
[Wikipedia|▼Menu]
□記事を途中から表示しています
[最初から表示]

廃止された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]などが含まれている。
.NET Framework用ラッパー

かつてDirectX 7.0およびDirectX 8.0でC++向け以外にVisual Basic用のインターフェイスが提供されたものの、基本的にDirectXはC++言語専用のAPIである。ここでは.NET Framework言語環境向けにラップされたマネージコードライブラリを紹介する。
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の開発環境はDirectX SDKに、実行環境はDirectXエンドユーザーランタイムに同梱されている[2]

Managed DirectX 1.1の後継であるManaged DirectX 2.0の開発は中止され[81]Microsoft XNA (XNA) に置き換えられることになった。
Microsoft XNA詳細は「Microsoft XNA」を参照

XNAおよびXNA Game StudioはWindows、Xbox 360Windows Phone、およびZune用のマルチプラットフォーム対応ゲーム開発環境・実行環境である。対応するアプリケーション開発言語はC# (Visual C#) のみであり、VB.NETC++/CLIなどの他の.NET言語からは利用できない。グラフィックスコンポーネントの内部ではDirect3D 9が使用されている。2014年4月に開発・サポートを終了した[82]
SlimDX詳細は「SlimDX」を参照

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

SharpDXはDirectX Graphics、DirectX Audio、DirectX Inputなどのマネージラッパーを提供するオープンソースのプロジェクトである[83]。ライセンス形態はMITライセンスとなる。SharpDXは従来のデスクトップアプリのほか、Windowsストアアプリからも利用できる。バージョン2.6.3時点でDirectX 9、DirectX 10、DirectX 11をサポートする[84]Windows 10と同時に正式リリースされたDirectX 12 (Direct3D 12) も、バージョン3.0にて対応したが、DirectX 10 (Direct3D 10) など一部のレガシーAPIのサポートが終了している[85]。2019年5月をもって、開発を終了することがアナウンスされた[86]
Windows API Code Pack for Microsoft .NET Framework

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

Direct3D 11.0

Direct3D 10.0/10.1

DXGI 1.0/1.1

Direct2D 1.0

DirectWrite

そのほか、Windows Imaging Component (WIC) のサポートも含まれるが、DirectWriteとWICは部分的なサポートにとどまる。

Windows API Code Pack 1.1のリンクは2015年9月現在消失しており、ダウンロードできなくなっている[88]が、NuGet経由で1.0.0をダウンロードできる[89]
OpenGLとの関係「OpenGL#DirectXとの関係」も参照


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:130 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef