Release of the DirectX 9.0 SDK Update (June 2005)

http://www.microsoft.com/japan/msdn/directx/downloads.asp
http://discuss.microsoft.com/SCRIPTS/WA-MSD.EXE?A2=ind0506b&L=directxdev&D=1&F=&S=&P=764
既にあちこちでニュースになっていますが,DirectX 9.0 SDK Update (June 2005) がリリースされました.いくつか新機能についてつまみ食いしておきます.
まずはプロファイラ PIX の新機能について.

パフォーマンス ツール

PIXへの強化には以下のものがあります

  • レンダーターゲットやテクスチャ サーフェイスのような Direct3D サーフェイスの内容を見る機能。これによって、サーフェイスに書かれた (あるいはサーフェイスから読み込んだ) ものを視覚的にデバッグできます。Surface View を参照してください。
  • フレーム内の任意の時点で Direct3D デバイス ステートを見る機能。そのステートは、パイプラインのステージの違いに応じてカテゴリ毎に整理されています。State View を参照してください。
  • 全てのデバイス ステートを HTML ファイルに書き込む新しいアクション。Triggers と Actions を参照してください。
  • フルスクリーン キャプチャを再生しているとき、ポーズ、シングルステップ、ワイヤフレームモードへの切り替えを行う、新しいキーボード ショートカット。

Surface View と State View はちゃんと知名度が上がって欲しいですね.さらにキャプチャしたステートを HTML ファイルに出力する機能も追加されました.試し撮りしたものを置いておきます.
http://www.dwahan.net/nyaruru/hatena/state.zip
以前 DirectX チームの方とお話しした中で PIX 強化の話題も出たんですが(id:NyaRuRu:20040908:p2),以来着実に機能強化が続いていてありがたい限りです.こちらももうちょい普及活動に力を入れたいところですね.Web 掲示板等のやりとりでも「PIX ログ見せてー」がちらほら出てくるようがんばりますか.
次.Visual Studio 2005 とか Managed DirectX とか.

サンプルとツール

C++ と Managed DirectX のサンプルにおける Visual Studio .NET 2005 のサポート。

  • C++ と Managed DirectX のサンプルで Visual Studio .NET 2005 のサポートが追加されました。
  • Direct3D 開始点サンプルが改善されました。EmptyProject と呼ばれる新しいサンプルは、Direct3D サンプル アプリケーション用の最低限の開始点を提供し、SimpleSamlpe と呼ばれる新しいサンプルは、他の Direct3D サンプルと同様の基本的な開始点を提供します。これは、それ以外の DirectX SDK サンプルが利用する典型的なポリシーを示しています。
  • UV Atlas コマンドライン ツール (uvatlas.exe) を更新し、Integrated Metric Tensor (IMT) 配列のサポートと、より調整可能なオプションが追加されました。

これですが,少なくとも Managed DirectX に関しては単に Visual Studio 2005 用のソリューションファイルが追加されただけのようでした..NET 2.0 用のアセンブリが追加されたわけではありません.相変わらず .NET 1.1 用のアセンブリを .NET 2.0 で使おうとしているため,例えば 64bit サポートなどで問題がおきるかもしれません.ソリューションを開くとデフォルトで CPU Type が Any になっているかもしれませんが,出力されるアセンブリを x86 に固定しておかないと x64 環境でアセンブリのロードに失敗します.
Managed DirectX に関してはもう一点,DXUT (for MDX) の Render Loop 実装が再変更された件について Tom Miller 氏が書かれているので,興味がある方は目を通しておくと良いでしょう.

My last post on render loops (hopefully)..
http://blogs.msdn.com/tmiller/archive/2005/05/05/415008.aspx

最後に D3DX の DLL 再配布について.

D3DX standalone redistribution

It is possible with this release of the SDK create a standalone D3DX redist package to distribute versions of D3DX. This includes support for older releases as well.

For more information about this, see the dxreadme contained in the SDK.

Developer-only Forum for DirectX programming issues で何度も議論されていた話題ですが, D3DX の単体配布が可能になった模様です.ちょっと誤解がありそうなの(私もちゃんとチェックしてませんでした)で追記.DXSetup.exe を使う再配布形式自体に変更は無いようです.ただし今まで必須コンポーネントだった DirectX 9.0c Runtime メイン部分が Optional 扱いになったので,大幅に再配布ファイルの容量を減らすことが可能になりました.
Jun2005_D3DX_26_x64.cab を単体配布して良いというわけでは無いようなのでご注意ください.