register (DirectX HLSL)

シェーダー変数を特定のレジスタに割り当てるためのオプションのキーワードです。構文は次のとおりです。

: register ( [shader_profile,] Type#[subcomponent] )

パラメーター

  • register
    必須キーワードです。

  • [shader_profile,]
    オプションのシェーダー プロフィールです。シェーダー ターゲットを指定できるほか、単に ps または vs を指定することもできます。

  • Type#[subcomponent]
    レジスタのタイプ、番号、およびサブコンポーネントの宣言です。

    • Type は次のいずれかです。

      Type レジスタの説明
      b 定数バッファー
      t テクスチャーとテクスチャー バッファー
      c バッファーのオフセット
      s サンプラー
      u アンオーダード アクセス ビュー
    • # はレジスタ番号を示す整数です。

    • subcomponent はオプションの整数です。

解説

1 つ以上のレジスタ割り当てをスペースで区切って同じ変数宣言に記述できます。

グローバル スコープ内の Direct3D 10 変数の場合、register キーワードは packoffset (DirectX HLSL) キーワードと同じ役割を果たします。

いくつかの例を次に示します。

 sampler myVar : register( ps_5_0, s );  
 sampler myVar : register( vs, s[8] ); 
 sampler myVar : register( ps, s[2] )                : register( ps_5_0, s[0] )                : register( vs, s[8] ); 

関連項目

変数 (DirectX HLSL)