ID3D11DeviceContext::GenerateMips 方法 (d3d11.h)
为给定的着色器资源生成 mipmap。
语法
void GenerateMips(
[in] ID3D11ShaderResourceView *pShaderResourceView
);
参数
[in] pShaderResourceView
指向表示着色器资源的 ID3D11ShaderResourceView 接口的指针。
返回值
无
备注
可以在任何着色器资源视图上调用 GenerateMips ,为着色器资源生成较低的 mipmap 级别。 GenerateMips 使用视图的最大 mipmap 级别以递归方式生成较低级别的 mip,并使用视图指定的最小级别停止。 如果未使用 D3D11_BIND_RENDER_TARGET、 D3D11_BIND_SHADER_RESOURCE 和 D3D11_RESOURCE_MISC_GENERATE_MIPS 创建基本资源,则对 GenerateMips 的调用不起作用。
功能级别 9.1、9.2 和 9.3 不支持为 3D (卷) 纹理自动生成 mipmap。
如果你使用以下任何格式,则支持 功能级别 9.1 和更高级别的视频适配器支持生成 mipmap:
DXGI_FORMAT_R8G8B8A8_UNORM
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
DXGI_FORMAT_B5G6R5_UNORM
DXGI_FORMAT_B8G8R8A8_UNORM
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
DXGI_FORMAT_B8G8R8X8_UNORM
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
如果除 功能级别 9.1 的任何格式外,还使用这些格式之外,支持功能级别 9.2 和更高级别的视频适配器支持生成 mipmap:
DXGI_FORMAT_R16G16B16A16_FLOAT
DXGI_FORMAT_R16G16B16A16_UNORM
DXGI_FORMAT_R16G16_FLOAT
DXGI_FORMAT_R16G16_UNORM
DXGI_FORMAT_R32_FLOAT
除了 功能级别 9.1 和 9.2 的任何格式外,支持功能级别 9.3 和更高级别的视频适配器支持生成 mipmap:
DXGI_FORMAT_R32G32B32A32_FLOAT
DXGI_FORMAT_B4G4R4A4 (optional)
如果除 功能级别 9.1、9.2 和 9.3 的任何格式外,还使用这些格式,则支持功能级别 10 和更高级别的视频适配器支持生成 mipmap:
DXGI_FORMAT_R32G32B32_FLOAT (optional)
DXGI_FORMAT_R16G16B16A16_SNORM
DXGI_FORMAT_R32G32_FLOAT
DXGI_FORMAT_R10G10B10A2_UNORM
DXGI_FORMAT_R11G11B10_FLOAT
DXGI_FORMAT_R8G8B8A8_SNORM
DXGI_FORMAT_R16G16_SNORM
DXGI_FORMAT_R8G8_UNORM
DXGI_FORMAT_R8G8_SNORM
DXGI_FORMAT_R16_FLOAT
DXGI_FORMAT_R16_UNORM
DXGI_FORMAT_R16_SNORM
DXGI_FORMAT_R8_UNORM
DXGI_FORMAT_R8_SNORM
DXGI_FORMAT_A8_UNORM
DXGI_FORMAT_B5G5R5A1_UNORM (optional)
对于所有其他不受支持的格式, GenerateMips 将以无提示方式失败。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3d11.h |
Library | D3D11.lib |