頂点シェーダの違い

頂点シェーダの違い

ここでは、頂点シェーダのバージョンの違いを示す。

バージョン 最大命令数
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