struct CD3D11_SHADER_RESOURCE_VIEW_DESC : public D3D11_SHADER_RESOURCE_VIEW_DESC
{
CD3D11_SHADER_RESOURCE_VIEW_DESC();
explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(const D3D11_SHADER_RESOURCE_VIEW_DESC &o);
explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(CD3D11_DEFAULT);
// 一些便利的设置函数
CD3D11_SHADER_RESOURCE_VIEW_DESC& Format(DXGI_FORMAT Format);
CD3D11_SHADER_RESOURCE_VIEW_DESC& ViewDimension(D3D11_SRV_DIMENSION ViewDimension);
CD3D11_SHADER_RESOURCE_VIEW_DESC& Buffer(UINT ElementOffset, UINT ElementWidth);
CD3D11_SHADER_RESOURCE_VIEW_DESC& Texture1D(UINT MostDetailedMip, UINT MipLevels = -1);
CD3D11_SHADER_RESOURCE_VIEW_DESC& Texture1DArray(UINT MostDetailedMip, UINT MipLevels = -1, UINT FirstArraySlice = 0, UINT ArraySize = -1);
CD3D11_SHADER_RESOURCE_VIEW_DESC& Texture2D(UINT MostDetailedMip, UINT MipLevels = -1);
CD3D11_SHADER_RESOURCE_VIEW_DESC& Texture2DArray(UINT MostDetailedMip, UINT MipLevels = -1, UINT FirstArraySlice = 0, UINT ArraySize = -1);
CD3D11_SHADER_RESOURCE_VIEW_DESC& Texture2DMS();
CD3D11_SHADER_RESOURCE_VIEW_DESC& Texture2DMSArray(UINT FirstArraySlice = 0, UINT ArraySize = -1);
CD3D11_SHADER_RESOURCE_VIEW_DESC& Texture3D(UINT MostDetailedMip, UINT MipLevels = -1);
CD3D11_SHADER_RESOURCE_VIEW_DESC& TextureCube(UINT MostDetailedMip, UINT MipLevels = -1);
CD3D11_SHADER_RESOURCE_VIEW_DESC& TextureCubeArray(UINT MostDetailedMip, UINT MipLevels = -1, UINT First2DArrayFace = 0, UINT NumCubes = -1);
};
这个结构继承自 D3D11_SHADER_RESOURCE_VIEW_DESC,并提供了一些便利函数,用于更容易地设置着色器资源视图的参数。你可以通过调用这些函数来配置 CD3D11_SHADER_RESOURCE_VIEW_DESC 对象,然后将其传递给创建着色器资源视图的函数。
以下是 CD3D11_SHADER_RESOURCE_VIEW_DESC 中一些常用的设置函数:
- Format: 设置着色器资源视图的格式。
- ViewDimension: 设置视图的维度,例如缓冲区、1D、2D、3D、立方体贴图等。
- 不同视图维度对应的设置函数,例如 Buffer、Texture1D、Texture2D 等,用于设置相应维度的详细参数。
这个结构使得配置着色器资源视图的参数更加方便,而不需要手动设置结构的各个字段。
转载请注明出处:http://www.zyzy.cn/article/detail/25643/Win32 API/D3d11.h/CD3D11_SHADER_RESOURCE_VIEW_DESC