缓冲区类型

使用以下语法声明缓冲区变量。

缓冲区<类型>名称;

参数

缓冲区

必需关键字。

类型

标量矢量和一些矩阵 HLSL 类型之一。 只要它符合 4 32 位数量,就可以使用矩阵声明缓冲区变量。 因此,可以编写 Buffer<float2x2>。 但 Buffer<float4x4> 太大,编译器将生成错误。

名字

唯一标识变量名称的 ASCII 字符串。

示例

下面是缓冲区声明的示例。

Buffer<float4> g_Buffer;

使用 Load HLSL 内部函数的重载版本从缓冲区读取数据,该函数采用一个输入参数 (整数索引) 。 像元素数组一样访问缓冲区;因此,此示例读取第二个元素。

float4 bufferData = g_Buffer.Load( 1 );

使用 流输出阶段 将数据输出到缓冲区。

备注

需要兼容类型化缓冲区着色器资源视图 (SRV) 才能从缓冲区正确加载。 负载可以选择执行类型转换,例如 ,可以将RGBA8_UNORM 缓冲区加载到 float4 变量中。 对于缓冲区串联结构,请改用 StructuredBuffer

另请参阅

DirectX HLSL) (数据类型