頂点シェーダの違い
頂点シェーダの違い
ここでは、頂点シェーダのバージョンの違いを示す。
バージョン | 最大命令数 |
---|---|
1_1 | 128 |
2_0 | 256 |
2_0 拡張 | 256 |
3_0 | 512 ~ D3DCAPS9.MaxVertexShaderInstructionSlots |
バージョン 3_0
新機能
- 静的フロー制御のネスティングの深さ
- 動的フロー制御命令 - break、breakc、ifc
- プレディケーション - setp 命令、p# レジスタ
- テンポラリ レジスタの数
- レジスタのインデックス化
- 頂点テクスチャ - texld テクスチャ アドレス命令
- 頂点ストリームの頻度
バージョン 2_0 拡張
新機能 (能力設定が必要)
- 動的フロー制御命令 - break、breakc、ifc
- プレディケーション - setp 命令、p# レジスタ
- 静的フロー制御のネスティングの深さ
- テンポラリ レジスタの数
バージョン 2_0
新しい命令
- セットアップ命令 - defb、defi
- 算術命令 - mova
- マクロ - abs、crs、expp、logp、lrp、nrm、pow、sincos、slt
- 静的フロー制御命令 - call、callnz、else、end、endif、endloop、endrep、if、label、loop、rep、ret
新しいレジスタ - 浮動小数点型定数、整数型定数、ブール型定数、ループ カウンタ
バージョン 1_x
新しい命令
- セットアップ命令 - dcl、def、vs
- 算術命令 - add、dp3、dp4、dst、lit、mad、max、min、mov、mul、nop、rcp、rsq、sge、slt、sub
- マクロ - exp、frc、log、m3x2、m3x3、m3x4、m4x3、m4x4