Summer 2004 DirectX SDK の新しい機能

  • SDK の更新
  • グラフィックの更新

SDK の更新

SDK の次の機能が更新されました。

  • パフォーマンス ツール

パフォーマンス ツール

実行中のアプリケーションから、詳しいパフォーマンス情報を取り込むための新しいツールが使用できるようになりました。これは PIX と呼ばれるツールで、次の場所にあります。

(SDK root)\Utilities\PIX\PIX.exe

初めて使用する場合には、「PIX」を参照してください。

グラフィックの更新

グラフィック コンポーネントの次の機能が更新されました。

  • D3DX

D3DX

D3DX に次の新機能が追加されました。

  • 事前演算済み放射輝度伝播 (PRT) - 事前演算済み放射輝度伝播 (PRT) でシーンをシミュレートするには、以前の PRT 関数の大部分に置き換わる、ID3DXPRTBuffer、ID3DXPRTCompBuffer、ID3DXPRTEngine、および ID3DXTextureGutterHelper の D3DX インターフェイスおよび関数を使用します。「事前演算済み放射輝度伝播 (Direct3D 9)」を参照してください。
  • HLSL でのシェーダー モデル 3 のサポート - 上位レベル シェーダー言語 (HLSL) で、頂点シェーダーとピクセル シェーダーにシェーダー モデル 3 がサポートされるようになりました (「シェーダー モデル 3」を参照)。シェーダー モデルは、旧バージョンのシェーダーから大幅に単純化されています。このため、シェーダーをハードウェアに実装する場合、vs_3_0 と ps_3_0 だけを使用すれば済み、固定機能パイプラインを備えたシェーダー タイプを使用しなくて済むようになりました。これらの変更は、ドライバーおよびランタイムの簡略化を可能にしています。HLSL ピクセル シェーダーの入力セマンティクスは、頂点シェーダーの出力セマンティクスと一致する必要があります。いくつかの例が「vs_3_0 と ps_3_0 シェーダーのセマンティクスの一致」に掲載されています。これ以外の改良点については、「シェーダー モデル 3」を参照してください。
  • 標準アノテーションとセマンティクスによりユーザーの意図をエフェクトに追加 - エフェクトとアプリケーション間で共有しようとしているエフェクト パラメーターについての情報を伝達するために、Microsoft は認定パートナーと共に、業界標準の一連のセマンティクスとアノテーションの作成に取り組んでいます。これらは共有パラメーターに関連付けられるので、アプリケーションが標準化されたエフェクトを解釈できるようになります。「DirectX 標準アノテーションとセマンティクスのリファレンス」を参照してください。
  • ジオメトリの複数インスタンスをより効率的に描画 - 同じジオメトリを使用するオブジェクトが複数あるシーンの場合、そのジオメトリのインスタンスをさまざまな向き、サイズ、色などで複数描画できるようになりました。また、レンダリングにかかるデータ量を減らすことでパフォーマンスを大幅に改善しました。インスタンス化には、vs_3_0 をサポートするデバイスが必要です。「複数のジオメトリのインスタンスの効率的な描画 (Direct3D 9)」を参照してください。
  • プレシェーダーやパラメーター ブロックなどのエフェクト システムの向上 - エフェクト システムには、数多くの改良が加えられました。
    • エフェクト ステートをデバイスに適用するための呼び出しの順序が、次のように変更されました。 ID3DXEffect::Begin は、アクティブなテクニックを開始します。ID3DXEffect::BeginPass でパスを開始します。ID3DXEffect::CommitChanges でパス内に設定された呼び出しに対する変更を更新します。ID3DXEffect::EndPass でパスを終了します。ID3DXEffect::End でアクティブなテクニックを終了します。 ID3DXEffect::Pass はヘッダー ファイルから削除されたため、呼び出す必要がなくなりました。詳細については、「エフェクトのレンダリング」を参照してください。
    • エフェクトのプレシェーダー - プレシェーダーによって、エフェクトの効率が向上しました。プレシェーダーによるパフォーマンスの改善を参照してください。
    • エフェクト パラメーターの共有とパラメーター ブロック - ID3DXEffectPool インターフェイスを使用して、エフェクト パラメーターを共有できるようになりました。「エフェクト パラメーターの共有」を参照してください。パラメーター ブロックは、1 つまたは複数のエフェクトでパラメーターを管理するために使用します。「パラメーター ブロックを使用したエフェクト パラメーターの管理」を参照してください。

D3DX9Mesh.h

以下の新メソッドが追加されました。

関連項目

August 2008 DirectX SDK の新しい機能