D3D11_UNORDERED_ACCESS_VIEW_DESC 是 Direct3D 11 中用于描述无序访问视图(Unordered Access View,UAV)的结构。以下是该结构的定义:
typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC {
  DXGI_FORMAT      Format;
  D3D11_UAV_DIMENSION ViewDimension;
  union {
    D3D11_BUFFER_UAV Buffer;
    D3D11_TEX1D_UAV  Texture1D;
    D3D11_TEX1D_ARRAY_UAV Texture1DArray;
    D3D11_TEX2D_UAV  Texture2D;
    D3D11_TEX2D_ARRAY_UAV Texture2DArray;
    D3D11_TEX3D_UAV  Texture3D;
  };
} D3D11_UNORDERED_ACCESS_VIEW_DESC;

这个结构包含以下成员:

  •  Format: 无序访问视图的格式,使用 DXGI_FORMAT 枚举值。


  •  ViewDimension: 描述无序访问视图类型的枚举值,可以是下列之一:

  - D3D11_UAV_DIMENSION_BUFFER: 用于缓冲区的无序访问视图。
  - D3D11_UAV_DIMENSION_TEXTURE1D: 用于 1D 纹理的无序访问视图。
  - D3D11_UAV_DIMENSION_TEXTURE1DARRAY: 用于 1D 纹理数组的无序访问视图。
  - D3D11_UAV_DIMENSION_TEXTURE2D: 用于 2D 纹理的无序访问视图。
  - D3D11_UAV_DIMENSION_TEXTURE2DARRAY: 用于 2D 纹理数组的无序访问视图。
  - D3D11_UAV_DIMENSION_TEXTURE3D: 用于 3D 纹理的无序访问视图。

  •  Buffer: D3D11_BUFFER_UAV 结构,用于描述缓冲区的无序访问视图。


  •  Texture1D: D3D11_TEX1D_UAV 结构,用于描述 1D 纹理的无序访问视图。


  •  Texture1DArray: D3D11_TEX1D_ARRAY_UAV 结构,用于描述 1D 纹理数组的无序访问视图。


  •  Texture2D: D3D11_TEX2D_UAV 结构,用于描述 2D 纹理的无序访问视图。


  •  Texture2DArray: D3D11_TEX2D_ARRAY_UAV 结构,用于描述 2D 纹理数组的无序访问视图。


  •  Texture3D: D3D11_TEX3D_UAV 结构,用于描述 3D 纹理的无序访问视图。


这个结构用于创建无序访问视图的描述,并在创建视图时传递给 ID3D11Device::CreateUnorderedAccessView 函数。根据不同的 ViewDimension,可以选择使用 Buffer、Texture1D、Texture1DArray、Texture2D、Texture2DArray 或 Texture3D 成员。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25720/Win32 API/D3d11.h/D3D11_UNORDERED_ACCESS_VIEW_DESC