D3D11_BUFFER_DESC 结构 (d3d11.h)

描述缓冲区资源。

语法

typedef struct D3D11_BUFFER_DESC {
  UINT        ByteWidth;
  D3D11_USAGE Usage;
  UINT        BindFlags;
  UINT        CPUAccessFlags;
  UINT        MiscFlags;
  UINT        StructureByteStride;
} D3D11_BUFFER_DESC;

成员

ByteWidth

类型: UINT

缓冲区的大小(以字节为单位)。

Usage

类型: D3D11_USAGE

确定缓冲区应如何从中读取和写入。 更新频率是一个关键因素。 最常见的值通常是D3D11_USAGE_DEFAULT;有关所有可能的值 ,请参阅D3D11_USAGE

BindFlags

类型: UINT

确定缓冲区如何绑定到管道。 (看到 D3D11_BIND_FLAG) 的标志可以与按位 OR 组合使用。

CPUAccessFlags

类型: UINT

CPU 访问标志 (看到 D3D11_CPU_ACCESS_FLAG) ;如果不需要 CPU 访问,则为 0。 标志可以与按位 OR 组合使用。

MiscFlags

类型: UINT

杂项标志 (看到 D3D11_RESOURCE_MISC_FLAG) ;如果未使用,则为 0。 标志可以与按位 OR 组合使用。

StructureByteStride

类型: UINT

当缓冲区表示结构化缓冲区时,缓冲区结构中每个元素的大小 (字节) 。 有关结构化缓冲区的详细信息,请参阅 结构化缓冲区

StructureByteStride 中的 size 值必须与用于缓冲区视图的格式的大小匹配。 例如,如果使用着色器资源视图 (SRV) 读取像素着色器中的缓冲区,则 SRV 格式大小必须与 StructureByteStride 中的 size 值匹配。

注解

ID3D11Device::CreateBuffer 使用此结构创建缓冲区资源。

除了此结构外,还可以使用 CD3D11_BUFFER_DESC 派生结构(在 D3D11.h 中定义,其行为类似于继承的类)来帮助创建缓冲区说明。

如果绑定标志 D3D11_BIND_CONSTANT_BUFFER,则必须将 ByteWidth 值设置为 16 的倍数,小于或等于 D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT

要求

要求
Header d3d11.h

另请参阅

资源结构