ID3D11DeviceContext::GenerateMips 方法 (d3d11.h)

为给定的着色器资源生成 mipmap。

语法

void GenerateMips(
  [in] ID3D11ShaderResourceView *pShaderResourceView
);

参数

[in] pShaderResourceView

类型: ID3D11ShaderResourceView*

指向表示着色器资源的 ID3D11ShaderResourceView 接口的指针。

返回值

备注

可以在任何着色器资源视图上调用 GenerateMips ,为着色器资源生成较低的 mipmap 级别。 GenerateMips 使用视图的最大 mipmap 级别以递归方式生成较低级别的 mip,并使用视图指定的最小级别停止。 如果未使用 D3D11_BIND_RENDER_TARGETD3D11_BIND_SHADER_RESOURCED3D11_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

另请参阅

DXGI_FORMAT

ID3D11DeviceContext