Windows 8 SDKまたはdirectx SDKのいずれかを介してdirect3d11を使用できますか? 学習者として、この選択がどのような影響を与えるかは明らかではありません。Windows SDK または DirectX SDK を使用して directx 11 を学習する場合、どのような違いがありますか?
2 に答える
directx sdk (最後は 2010 年 6 月、3 年前) は非推奨です。Windows 8 キットには、直接の x ヘッダーとライブラリの最新バージョンが含まれています。
基本的な API とドキュメントはほとんど同じですが、最近の変更はありません。D3DX は廃止され、数学は directxmath.h に移動し、シェーダー コンパイルは d3dcompiler.h に移動します。
Pix は最近の Windows では動作しなくなったので、Visual 2012 に同梱されている VSGD を使い続ける必要がありますが、PiX の代替品は現状ではあまり役に立ちません :( したがって、nvidia の場合は nsight、AMD の場合は gpuperfstudio がより良いツールです。 .
それでおしまい。
Direct3D 11 の場合、統合された Windows 8.x SDK で VS 2012 または VS 2013 を使用し、実際に必要であると判断するまで、従来の DirectX SDK (2010 年 6 月) を使用する複雑さをまったく回避するのが最善の方法です (説得力のあるケースの 1 つは、Windows 8 以降で XAudio 2.8 を使用するのではなく、Windows Vista または Windows 7 で XAudio2.7 を使用することです)。
Windows 8.x の Windows ストア アプリについては、Direct3D 11 について学ぶための公式チュートリアルとサンプルが MSDN と MSDN コード ギャラリーに多数あります。
Windows 7 または Windows 8.x 上の Win32 デスクトップ アプリについては、Windows 8.x SDK で問題なくビルドできる従来の DirectX SDK から収集した多くの非公式のサンプルを投稿しました。インベントリと MSDN コード ギャラリーへのリンクについては、このブログ投稿を参照してください。
多くの古いチュートリアルや書籍では、現在非推奨となっている D3DX ライブラリを使用していることを想定していますが、Direct3D 11 には、ここで説明されているように、それを回避する多くのオプションがあります。最近の書籍の中には、これらの新しいライブラリも取り入れているものがあります。
ところで、私はあなたの質問から、DirectX SDK と Windows 8.x SDK がサポートしているため、C++ を使用した Direct3D 11 のプログラミングについて質問していると推測しています。C# をお探しの場合は、SharpDXまたはSlimDXを検討することをお勧めします。