ps_2_x手順
このセクションには、ピクセル シェーダーのバージョン2_x手順に関するリファレンス情報が含まれています。
表に示すように、ピクセル シェーダー命令にはいくつかの種類があります。 右側の列は次を意味します。
- 命令スロット - 各命令で使用される命令スロットの数。
- セットアップ - ピクセル シェーダーにはバージョン命令が必要であり、最初の命令である必要があります。
- 算術 - これらの命令は、シェーダーの算術演算を提供します。
- テクスチャ - これらの手順は、テクスチャ データの読み込みとサンプリング、およびテクスチャ座標の変更に使用されます。
- フロー制御 - これらの命令は、命令の実行に静的および動的なフロー制御を提供します。
- 新規 - これらの手順は、このバージョンの新機能です。
命令セット
Name | 説明 | 命令スロット | セットアップ | 算術 | テクスチャ | フロー制御 | 新規作成 |
---|---|---|---|---|---|---|---|
abs - ps | 絶対値 | 1 | x | ||||
add - ps | 2 つのベクターを追加する | 1 | x | ||||
break - ps | 担当者から抜け出す...endrep ブロック | 1 | x | x | |||
break_comp - ps | 条件に応じて担当者から抜け出す...endrep ブロック(比較あり) | 3 | x | x | |||
breakp - ps | 担当者から抜け出す...述語に基づく endrep ブロック | 3 | x | x | |||
call - ps | サブルーチンを呼び出す | 2 | x | x | |||
callnz bool - ps | ブール値レジスタが 0 でない場合はサブルーチンを呼び出す | 3 | x | x | |||
callnz pred - ps | 述語レジスタが 0 でない場合はサブルーチンを呼び出す | 3 | x | x | |||
cmp - ps | ソースを 0 と比較する | 1 | x | ||||
crs - ps | クロス製品 | 2 | x | ||||
dcl_samplerType (sm2, sm3 - ps asm) | サンプラーのテクスチャ ディメンションを宣言する | 0 | x | ||||
dcl - (sm2, sm3 - ps asm) | 頂点シェーダー出力レジスタとピクセル シェーダー入力レジスタの間の関連付けを宣言します。 | 0 | x | ||||
def - ps | 定数を定義する | 0 | x | ||||
defb - ps | ブール型定数を定義する | 0 | x | x | |||
defi - ps | 整数定数を定義する | 0 | x | x | |||
dp2add - ps | 2D ドット積と追加 | 2 | x | ||||
dp3 - ps | 3D ドット積 | 1 | x | ||||
dp4 - ps | 4D ドット積 | 1 | x | ||||
dsx - ps | x 方向の変化率 | 2 | x | x | |||
dsy - ps | y 方向の変化率 | 2 | x | x | |||
else - ps | else ブロックを開始する | 1 | x | x | |||
endif - ps | if... を終了します。else ブロック | 1 | x | x | |||
endrep - ps | 繰り返しブロックの末尾 | 2 | x | x | |||
exp - ps | 完全精度 2x | 1 | x | ||||
frc - ps | 小数部のコンポーネント | 1 | x | ||||
if bool - ps | if ブロックを開始する | 3 | x | x | |||
if_comp - ps | 比較を使用して if ブロックを開始する | 3 | x | x | |||
pred の場合 - ps | 事前指定を使用して if ブロックを開始する | 3 | x | x | |||
label - ps | Label | 0 | x | x | |||
log - ps | 完全有効桁数 log₂(x) | 1 | x | ||||
lrp - ps | 線形補間 | 2 | x | ||||
m3x2 - ps | 3x2 乗算 | 2 | x | ||||
m3x3 - ps | 3x3 乗算 | 3 | x | ||||
m3x4 - ps | 3x4 乗算 | 4 | x | ||||
m4x3 - ps | 4x3 乗算 | 3 | x | ||||
m4x4 - ps | 4 x 4 乗算 | 4 | x | ||||
mad - ps | 乗算と加算 | 1 | x | ||||
max - ps | 最大値 | 1 | x | ||||
min - ps | 最小値 | 1 | x | ||||
mov - ps | 詳細ビュー | 1 | x | ||||
mul - ps | 乗算 | 1 | x | ||||
nop - ps | 操作なし | 1 | x | ||||
nrm - ps | Normalize (正規化) | 3 | x | ||||
pow - ps | xy | 3 | x | ||||
ps | バージョン | 0 | x | ||||
rcp - ps | 相互 | 1 | x | ||||
rep - ps | Repeat | 3 | x | x | |||
ret - ps | サブルーチンの末尾 | 1 | x | x | |||
rsq - ps | 逆平方根 | 1 | x | ||||
setp_comp | 述語レジスタを設定する | 1 | x | x | |||
sincos - ps | サインとコサイン | 8 | x | ||||
sub - ps | 減算 | 1 | x | ||||
texkill - ps | ピクセル レンダリングを強制終了する | 注 1 を参照 | x | ||||
texld - ps_2_0以降 | テクスチャをサンプリングする | 注 2 を参照 | x | ||||
texldb - ps | w 成分からの詳細レベルバイアスを使用したテクスチャ サンプリング | 注 3 を参照してください | x | ||||
texldd - ps | ユーザー指定のグラデーションを使用したテクスチャ サンプリング | 3 | x | x | |||
texldp - ps | 投影を w コンポーネントで除算したテクスチャ サンプリング | 注 4 を参照 | x |
メモ:
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMITが設定されている場合、slots = 2。それ以外の場合、スロットは 1 です。
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMITが設定されていて、テクスチャがキューブ マップの場合、slots = 4 になります。それ以外の場合は、スロット = 1。
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMITが設定されている場合、slots = 6。それ以外の場合、スロットは 1 です。
-
D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMITが設定されていない場合、スロットは 1 になります。それ以外の場合:
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMITが設定され、テクスチャがキューブ マップである場合、slots = 4。
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMITが設定されていて、テクスチャがキューブ マップでない場合、slots = 3。
関連トピック