命令 - ps_2_0
命令 - ps_2_0
ここでは、ピクセル シェーダ バージョン 2_0 命令のリファレンス情報を記述する。
次の表に示すように、ピクセル シェーダ命令にはいくつかの種類がある。右側の列の意味は次のとおりである。
- 命令スロット - 各命令が使う命令スロットの数。
- セットアップ - ピクセル シェーダには、バージョン命令を 1 つ指定する必要がある。 また、その命令は最初の命令でなければならない。
- 算術 - これらの命令は、シェーダ内での算術演算を行う。
- マクロ演算子 - これらの命令は、算術命令を結合して高レベルの機能を実現する。マクロ演算子の使用はオプションである。基本となる実装に最適化の機会を与えるので、マクロ演算子、特に行列乗算命令 (m3x2、m3x3、m3x4、m4x3、m4x4) の使用を推奨する。
- テクスチャ - これらの命令は、テクスチャ データをロードおよびサンプリングするためと、テクスチャ座標を修飾するために使う。
- 新規 - これらの命令はこのバージョンでの新機能である。
命令セット
名前 | 説明 | 命令スロット | セットアップ | 算術 | マクロ演算子 | テクスチャ | 新規 |
---|---|---|---|---|---|---|---|
abs | 絶対値 | 1 | x | x | |||
add | 2 つのベクトルの加算 | 1 | x | ||||
cmp | 入力を 0 と比較する | 1 | x | ||||
crs | 外積 | 2 | x | x | |||
dcl | 頂点要素のタイプを頂点の入力レジスタにマッピングする。 | 0 | x | x | |||
dcl_textureType | サンプラ レジスタのテクスチャ座標ディメンジョンを宣言する | 0 | x | x | |||
def | 定数の定義 | 0 | x | ||||
dp2add | 2D の内積と加算 | 2 | x | x | |||
dp3 | 3D の内積 | 1 | x | ||||
dp4 | 4D の内積 | 1 | x | ||||
exp | 完全精度の 2x | 1 | x | x | |||
frc | 小数部 | 1 | x | x | |||
log | 完全精度の log2(x) | 1 | x | x | |||
lrp | 線形補間 | 2 | x | x | |||
m3x2 | 3x2 行列乗算 | 2 | x | x | |||
m3x3 | 3x3 行列乗算 | 3 | x | x | |||
m3x4 | 3x4 行列乗算 | 4 | x | x | |||
m4x3 | 4x3 行列乗算 | 3 | x | x | |||
m4x4 | 4x4 行列乗算 | 4 | x | x | |||
mad | 積和 | 1 | x | ||||
max | 最大値 | 1 | x | ||||
min | 最小値 | 1 | x | ||||
mov | 移動 | 1 | x | ||||
mul | 乗算 | 1 | x | ||||
nop | 空命令 (何の演算も実行しない) | 1 | x | ||||
nrm | 正規化 | 3 | x | x | |||
pow | 2x | 3 | x | x | |||
ps | バージョン | 0 | x | x | |||
rcp | 逆数 | 1 | x | x | |||
rsq | 逆数平方根 | 1 | x | x | |||
sincos | 正弦と余弦 | 8 | x | x | |||
sub | 減算 | 1 | x | ||||
texkill | ピクセル レンダリングを終了させる | 1(tex) | x | ||||
texld | テクスチャのサンプリング | 1 + 3CUBE | x | x | |||
texldb | w 成分の詳細レベル (LOD) のバイアスを使ったテクスチャ サンプリング | 1(tex) | x | x | |||
texldp | w 成分による射影除算を使ったテクスチャ サンプリング | 1(tex) | x | x |
ここで
- tex - 1 テクスチャ命令スロットである。ただし、D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT が設定されている場合、この命令は、命令 (非テクスチャ) カウントでカウントされる。
- 1 + 3CUBE は、テクスチャがキューブ マップの場合に 1 + 3 であることを意味する。
- 3 + 1CUBE は、テクスチャがキューブ マップの場合に 3 + 1 であることを意味する。