Microsoft DirectX 8.0 (Visual Basic)

ピクセル シェーダとは

次の例は、ピクセル シェーダの簡単な使用方法と、Direct3DX ピクセル シェーダ アセンブラが解釈可能な構文を示している。

ps.1.0          // DirectX8 バージョン。
tex t0          // テクスチャを宣言する。
tex t1          // ライト マップを宣言する。

mov r0, t0
mul r0, r0, t1  // ライト マップを乗算する。
mul r0, r0, v0  // ディフューズを乗算する。
add r0, r0, v1  // スペキュラを追加する。

このピクセル シェーダは、ライト マップ、ディフューズ色、およびスペキュラの追加と共にベース テクスチャを宣言している。

ピクセル シェーダは、色およびアルファ ブレンディング処理およびテクスチャ アドレッシング処理を制御する。Microsoft® Direct3D® for Microsoft DirectX® 8.0 は、ピクセル処理およびテクスチャ ブレンディング処理を定義するためのプロシージャル パラダイムを定義する。このモデルには、仮想マシン アーキテクチャの定義、およびその動作を定義する一連の命令と修飾子が含まれる。このパラダイムは、プロセッサベースの実装である必要はない。

ピクセル シェーダは、次の方法で、DirectX 6.0 および 7.0 のマルチテクスチャ機能を拡張および標準化する。

このように拡張された柔軟性をより効率的にサポートするため、アプリケーション プログラミング インターフェイス (API) 構文が DWORD ペアから ASCII アセンブル コード構文に変更された。これにより、プロシージャル ピクセル シェーダによって提供される機能を公開することができる。

  ピクセル シェーダを使用する場合、スペキュラの追加はレンダリング ステートによって特に制御されなくなり、必要に応じて実装するのはピクセル シェーダの役割となる。しかし、フォグ ブレンディングは固定機能構文によって適用される。

Direct3DX ピクセルシェーダ アセンブラの使用方法についての詳細は、「ピクセル シェーダ アセンブラ リファレンス」を参照すること。