次の方法で共有


DirectX 標準注釈とセマンティクスのリファレンス

標準注釈とセマンティクス (DXSAS) は、シェーダーをツール、アプリケーション、ゲーム エンジンで使用できるようにする標準的な方法でシェーダーを使用する方法を提供します。 DXSAS は、効果を共有するためにホスト アプリケーションの値と効果パラメーターにアタッチされるセマンティクスと注釈のセットを定義します。 これらの注釈とセマンティクスを有用にするには、ホスト アプリケーションと効果ファイルの両方で実装する必要があります。 このドキュメントでは、DirectX Effect Framework の機能を利用して、ホスト アプリケーションとツールで DirectX 効果 (.fx ファイル) をプログラムで共有したり、UI との対話を設計したりできるようにする DXSAS 標準について説明します。

背景情報

標準の注釈とセマンティクスは、エフェクト パラメーターと X ファイル パラメーターをホスト アプリケーション値にバインドするように設計されています。 D3DX 効果フレームワーク (または効果) は、レンダリング状態をカプセル化します。 効果にレンダリング状態 (頂点、テクスチャ、ピクセル処理状態を含む) をカプセル化することで、さまざまなレンダリング オプションをカバーする効果のライブラリを作成できます。 これには、さまざまな種類のハードウェアでのレンダリングや、単一パスまたはマルチパス ブレンドを使用したレンダリングなどのオプションが含まれる場合があります。 エフェクトフレームワークの詳細については、「エフェクトリファレンス 参照してください。 DXSAS は、このフレームワークの上に構築されており、開発者がより一貫性のあるエクスペリエンスを実現できます。 レンダリング設定がエフェクトにカプセル化されると、DXSAS 標準により、エフェクト開発者は注釈を介してエフェクト パラメーターの意図を公開できます。 これらの注釈は、標準に準拠している任意のホスト アプリケーションまたはツール (効果を使用するように設計されたものだけでなく) によって読み取ることができ、設計された方法で効果を使用する方法を理解します。

アプリケーションをサポートする効果セマンティクスと注釈のセットを標準化することで、効果作成者は複数のプロジェクトで使用できる効果を作成し、効果ユーザーのコミュニティを広めることができます。 DXSAS 標準では、開発者がファイルを読み取り可能にし、ツール間で交換でき、開発者はサード パーティ製ツールを利用してパイプラインの効果を作成できます。

このドキュメントでは、注釈を使用して効果パラメーターの意図を表す DXSAS 標準について説明します。また、ホスト アプリケーションが効果を利用できるようにするために同意するホスト アプリケーション値のコレクションを定義します。

標準注釈とセマンティクスを使用した効果の作成

次の図からわかるように、DXSAS 標準では、エフェクト ファイルと、ファイルを操作するためにここで説明するガイドラインに従うホスト アプリケーションに注釈が必要です。

ホスト アプリケーションとエフェクト ファイルの dxsas 標準の 図

ホスト アプリケーションは、ユーザー インターフェイス ロジックとホスト環境を実装する必要があります。 DXSAS に準拠した効果を実装するには、次のトピックを参照してください。

  • グローバル パラメーター は、バージョンやエフェクト作成者など、効果に関連する情報を定義します。
  • データ バインディング は、エフェクトに公開されているホスト アプリケーションによって設定できる効果で使用できるパラメーターのコレクション (およびその型と構造) を定義します。
  • ユーザー インターフェイス コントロールを効果パラメーターに関連付けるには、UI 注釈を使用します。 これらの注釈には、sasUiMax SasUiMinSasUiStepsSasUiStepsPower、および sasUiStride が含まれます。
  • 外部ファイルに含まれるデータを使用して効果パラメーターを初期化するには、パラメーター初期化注釈を使用します。
  • ホスト アプリケーションとエフェクト (またはその逆) の間でデータが転送されると、型が完全に一致しない場合、キャストと変換の が発生します。 このセクションでは、ソースとターゲットの種類が異なる場合のデータの書き込み方法を指定します。 さらに、ParameterValueModifiers を使用して、エフェクト パラメーターから読み取られたデータをホスト アプリケーションで解釈する方法を変更します。 これらの注釈には、SasNormalize SasUnits が含まれます。

大文字と小文字の区別

すべての識別子、セマンティクス、および注釈の値では、大文字と小文字が区別されません。 注釈名 (値ではない) では大文字と小文字が区別されます。 注釈名は D3DX 効果システムによって認識されるため、SAS 注釈名も同様です。

効果リファレンス