次の方法で共有


バッファーの種類

バッファー変数を宣言するには、次の構文を使用します。

バッファー<の種類>

パラメーター

バッファー

必須のキーワード (keyword)。

スカラーベクター、および一部のマトリックス HLSL 型の 1 つ。 4 つの 32 ビットの数量に収まる限り、行列を使用してバッファー変数を宣言できます。 そのため、 を記述 Buffer<float2x2>できます。 が Buffer<float4x4> 大きすぎるため、コンパイラによってエラーが生成されます。

名前

変数名を一意に識別する ASCII 文字列。

バッファー宣言の例を次に示します。

Buffer<float4> g_Buffer;

データは、1 つの入力パラメーター (整数インデックス) を受け取る Load HLSL 組み込み関数のオーバーロードされたバージョンを使用してバッファーから読み取られます。 バッファーには、要素の配列のようにアクセスされます。したがって、この例では 2 番目の要素を読み取ります。

float4 bufferData = g_Buffer.Load( 1 );

ストリーム出力ステージを使用して、データをバッファーに出力します。

注釈

バッファーから正しく読み込むには、互換性のある型指定されたバッファー シェーダー リソース ビュー (SRV) が必要です。 読み込みでは、必要に応じて型変換を実行できます。たとえば、 RGBA8_UNORM バッファーを float4 変数に読み込むことができます。 バッファー contaning 構造体の場合は、代わりに StructuredBuffer を 使用します。

こちらもご覧ください

データ型 (DirectX HLSL)