DirectX 9.0 の新機能


December 20, 2002

Microsoft(R) DirectX(R) 9.0 には、Managed DirectX、日本語ドキュメント、グラフィックスと Microsoft DirectShow(R) の新機能、Microsoft DirectInput(R) と Microsoft DirectPlay(R) の強化、新しいツールが含まれています。

Managed DirectX

  • C# や Visual Basic、.NET から利用可能。
  • Direct3D、D3DX、DirectDraw、DirectPlay、DirectInput、DirectSound の全機能を完全にサポート。
  • 多くの一般のオーディオ / ビデオ フォーマットの単純な再生をサポート。
  • C++ と比較して、ほぼ1対1のサンプル。
  • コードの削減。マネージ コードを使えば、DirectX で行う同じタスクはほとんど、より少ないコードで実行できます。
  • .NET との密接な統合 - Managed DirectX は .NET とその共通タイプを可能な限り完全に利用しています。例えば、Managed Direct3D テクスチャを作る際、.NET Bitmap オブジェクトから「FromBitmap」メソッド経由で作成できます。

必要条件

Managed DirectX ( MDX ) の開発には、Visual Studio .NET と .NET framework の両方が必要です。ランタイムは MDX をインストールするので、 .NET framework がインストールされていればアプリケーションは動作する。.NET framework は次の URL からダウンロード可能です。http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/829/msdncompositedoc.xml ここには、.NET Framework 再頒布パッケージが置かれています。これは、開発ツールがインストールされていないマシンで、MDX .NET アプリケーションを含む .NET アプリケーションの実行に必要です。.NET Framework FAQ は、http://www.microsoft.com/japan/msdn/netframework/prodinfo/qa.aspx にある。.NET Framework SP2 へのアップデートを推奨します、これは http://www.microsoft.com/japan/msdn/netframework/downloads/sp2/download.aspx から利用できます。

日本語ドキュメント

  • 全てのコンポーネントのドキュメントを日本語化した DirectX 9.0 日本語ドキュメントがサポートされています。標準インストールには含まれていないので、SDK-CD の以下のフォルダからコピーするか、Webからダウンロードしてください。
    (SDK-CD)\Extras\Documentation\DirectX9\japanese
    注:DirectX9JpnDoc.msi は Visual Studio .NET 用の DirectX 9 日本語ドキュメント インストーラであり、Manage DirectX と C++ 用のドキュメントが含まれています。これを読むためには、Visual Studio .NET が必要です。このインストールには管理者権限が必要です。

DirectX Graphics の新機能

多くの新しい興味深いデータ フォーマット

  • 浮動小数点 Z バッファ フォーマット
  • 16-bit 浮動小数点頂点フォーマットとテクスチャ フォーマット
  • 64-bit 整数と 32-bit 浮動小数点のテクスチャ フォーマット
  • 10:10:10:2 ピクセル フォーマット
  • 放棄可能な深度バッファとステンシル バッファ
  • 負荷の低いミップマップ
  • ツーサイド ステンシル

2D / Video / GDI 機能のサポート

  • ビデオ ハードウェア アクセラレーションのサポート
  • 2D 操作、例えば伸縮拡大、BLT、シザーリング
  • GetDC を使った GDI との相互運用性

新しい 3D レンダリング機能

  • ディスプレースメント マッピング
  • 深度バイアス
  • アンチエリアス ライン
  • 定数ブレンド ファクタ
  • アルファ チャンネル ブレンディングの分離
  • マルチ サンプリング品質コントロール パラメータ
  • テセレーション
  • マルチ エレメント テクスチャのサポート
  • 複数レンダリング ターゲット
  • 自動生成ミップマップ
  • 球状 TexGen モード

その他

  • 非同期通知
  • 新しい頂点ストリーム宣言
  • マルチヘッドのサポート
  • スワップ エフェクトとプレゼンテーション レートへのクリーンアップ インターフェイス
  • モニター リフレッシュ ヒューリスティクスの改善
  • ガンマ補正
  • ウィンドウモードのプレゼンテーションでの色変換

現在と将来のハードウェアのための新しい頂点シェーダ モデルとピクセル シェーダ モデル

  • ピクセル シェーダ モデル 2.0 と 3.0
  • 頂点シェーダ モデル 2.0 と 3.0

D3DXの新機能

  • DirectX 9 にシェーダ プログラミングのための新しい上位レベル シェーダ言語 (HLSL) が導入されました。この言語を使えば、関数・任意の変数名・条件・ループを使って、シェーダをより簡単に書けます。
  • シェーダ コンパイラは次のプロファイルをサポートします。 : s_1_1, vs_2_0, ps_1_1, ps_1_2, ps_1_3, ps_1_4, ps_2_0, ps_2_sw
  • シェーダ フラグメント リンカが追加され、シェーダの管理とバージョン管理が容易になりました。フラグメント リンカはアセンブリレベルも上位レベル シェーダ言語のシェーダ フラグメントも一緒にリンクする。すなわち、ライティングの種類やスキニングの種類のミキシングやマッチングなどが可能です。
  • DirectX 9 ではエフェクト フレームワークに大きな変更をいくつか行いました。特に ID3DXEffectCompiler インターフェイスの追加です。EffectCompiler インターフェイスはシェーダの特殊化に有効です、つまりシェーダの特殊なコンパイル用のリテラルとしてグローバル変数を作成する。
  • エフェクト間で共有できる変数を追加した。キーワード「share」を持つエフェクト ファイル内の変数は与えられたエフェクト プールを使って作成されたすべてのエフェクト間で共有できます。
  • メッシュ ライブラリに、適応型テセレーションを含むパッチ サポートが追加されています。
  • 新しいアニメーション サブシステムとメッシュ階層ローダが追加されています。
  • メッシュ ライブラリは任意の頂点宣言をサポートします。(単一ストリームのみ)。CloneMesh は全てのデータ型変換を処理します。すなわち、FLOAT2 から FLOAT16_2 や D3DDECLTYPE_DEC3N など。

DirectShow の新機能

  • Video Mixing Renderer フィルタ 9 (VMR-9)。この再配布可能なレンダリング フィルタ、これは Microsoft Windows(R) XP Home Edition および Windows XP Professional で利用可能な VMR7 と概念も設計も似ています。VMR-9 は従来の VMR (現在は "VMR-7" と呼んでいます) よりも強力で、DirectX 9.0 のグラフィックス機能と完全な互換性がある。また、非インターレース化と ProcAmp コントロール (明るさ、コントラスト、色相、および彩度) のサポートも向上しています。
  • DirectX ビデオ アクセラレーションでの新しい非インターレース化のサポート。
  • デジタル ビデオ (DV) ビデオ デコーダ フィルタでの新しい非インターレース化のサポート。
  • 新しいエンコーダ アプリケーション プログラミング インターフェイス (API) 仕様 :エンコーダ API により、ソフトウェアまたはハードウェアのエンコーダがアプリケーションやデバイス ドライバとやり取りする、フォーマットを問わない標準的な方法を定義します。
  • は、フィルタに実装することによって、アプリケーションからのフィルタの機能の問い合わせを可能にする、新しいインターフェイスです。
  • GraphEdit ユーティリティの強化。
  • デジタル ビデオ ディスク (DVD) 用の Graph Builder を使うと、アプリケーションは

    IDvdGraphBuilder::RenderDvdVideoVolume メソッドで VMR-9 を使用できます。DVD Navigator に、早送り中の音声再生のサポートが追加された。デコーダがこの機能をサポートしています場合は、1 倍速よりも速い速度でムービーを再生しても、音声トラックのピッチが上がりません。

  • コンピュータにインストールされている Microsoft Windows Media(TM) システム プロファイルに関する情報を表示する、Profile Enumerator と呼ばれる新しいユーティリティ プログラム。このプログラムは、(SDK ルート)\bin\DXUtils にあります。
  • Windows XP との機能的な連携を高めるための、Windows XP 以前のすべてのプラットフォームでの AVStream ドライバの開発とランタイム サポートの強化。
  • 新しいサンプル。

DirectInput の新機能

バージョン 9.0 では、主な改善は以前の DirectInput と互換性を保って行われています。API の変更はありません。

DirectPlay の新機能

バージョン 9.0 の機能には、新しいインターフェイスです IDirectPlay8ThreadPool、ネットワーク シミュレーションの新しいサービス プロバイダです IDP8SimControl、および Windows Powered Pocket PC 2002 の機能があります。

DirectSound の新機能

DirectX 9.0 では、Microsoft DirectSound(R) API の大幅な改訂はありません。ただし、パフォーマンス強化のための機能が多数実装されています。また、次のような変更点があります。

  • サウンド バッファの最大周波数が 100 kHz から 200 kHz (オペレーティング システムがサポートしています場合) に上がりました。DirectShow はこれらの高周波数をサポートしていません。
  • 周波数制御とエフェクト制御 (DSBCAPS_CTRLFREQUENCY および DSBCAPS_CRTLFX) をバッファで組み合わせられるようになりました。これらのフラグを組み合わせると、バッファでのエフェクトによるドップラー偏移が可能になります。
  • WAVEFORMATEXTENSIBLE 構造体で記述したオーディオ フォーマットが、DirectSound 全域で完全にサポートされます。
  • 標準エフェクト DMO で、WAVE_FORMAT_IEEE_FLOAT フォーマットの音声データを処理できます。
  • 標準エフェクトがパラメータ曲線をサポートするようになりました (ホストが DirectSound の外部の場合)。これによって、少しずつ増分して繰り返し IMediaObjectInPlace::Process を呼び出す必要がなくなりました。

DirectMusic の新機能

DirectX 9.0 では、Microsoft DirectMusic(R) API の大幅な改訂はありません。ただし、パフォーマンス強化のための変更が多数行われています。その中で最も重要なのは、遅延時間の短い DirectSound シンクです。この機能を使うと、ソフトウェア シンセサイザを使って再生するオーディオパスを DirectMusic で使用しているときの応答速度が速くなります。この機能は、DirectMusic の広範な機能セットを利用しながら、短い遅延時間ですばやい対話的応答を得る必要があります。サウンド デザイナやコンポーザに特に役立ちます。DirectMusic 形式の大きなライブラリとその再生用アプリケーションが SDK に追加されました。さらに、SDK のインストール ディレクトリの \bin\DXUtils\AppWizard フォルダに、次の 2 つの新しいツールが追加されました。

  • DMToolWizard.awx は、DirectMusic ツールを作成するためのウィザードです。
  • AEDMOWiz.awx は、エフェクトの DMO を作成するためのウィザードです。

新しいツール

  • AppWizard。このツールには、DirectX の任意のコンポーネントを使って DirectX アプリケーションを作成するためのアプリケーション ウィザードが備わっています。このツールはソフトウェア開発キット (SDK) のインストールと共にインストールされ、新しいアプリケーションを作成するときに Microsoft Visual Studio(R) 内からアクセスできます。
  • Error Lookup ツール。このツールを使うと、16 進数形式のエラー コードを基にして、テキスト ベースのエラー メッセージを参照できます。このツールは SDK のインストールの一部としてインストールされ、[スタート] - [プログラム] - [Microsoft DirectX 9.0 SDK] - [DirectX Utilities] - [DirectX Error Lookup] からアクセスできます。
表示: