CD3D11_TEXTURE2D_DESC 结构是 Direct3D 11 中用于描述 2D 纹理的辅助类。这个结构通常用于创建 2D 纹理对象。以下是 CD3D11_TEXTURE2D_DESC 结构的定义:
struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC
{
    CD3D11_TEXTURE2D_DESC();
    explicit CD3D11_TEXTURE2D_DESC(const D3D11_TEXTURE2D_DESC &o);
    explicit CD3D11_TEXTURE2D_DESC(CD3D11_DEFAULT);
    explicit CD3D11_TEXTURE2D_DESC(
        DXGI_FORMAT Format,
        UINT Width,
        UINT Height,
        UINT ArraySize = 1,
        UINT MipLevels = 0,
        UINT BindFlags = D3D11_BIND_SHADER_RESOURCE,
        D3D11_USAGE Usage = D3D11_USAGE_DEFAULT,
        UINT CPUAccessFlags = 0,
        UINT MiscFlags = 0,
        UINT SampleCount = 1,
        UINT SampleQuality = 0
    );
};

这个结构继承自 D3D11_TEXTURE2D_DESC,并提供了一些便利函数,用于更容易地设置 2D 纹理的参数。你可以通过调用这些函数来配置 CD3D11_TEXTURE2D_DESC 对象,然后将其传递给创建 2D 纹理的函数。

以下是 CD3D11_TEXTURE2D_DESC 中一些常用的设置函数:

  •  Format: 设置纹理的像素格式。

  •  Width, Height: 设置纹理的宽度和高度。

  •  ArraySize: 设置数组的大小,通常为 1。

  •  MipLevels: 设置 Mip 层级数。

  •  BindFlags: 设置绑定标志,例如 D3D11_BIND_SHADER_RESOURCE、D3D11_BIND_RENDER_TARGET 等。

  •  Usage: 设置纹理的使用方式,例如 D3D11_USAGE_DEFAULT、D3D11_USAGE_DYNAMIC 等。

  •  CPUAccessFlags: 设置 CPU 访问标志,用于动态纹理等情况。

  •  SampleCount, SampleQuality: 设置多重采样的样本数量和质量级别。


这个结构使得配置 2D 纹理的参数更加方便,而不需要手动设置结构的各个字段。


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