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] );