D3D12_TEX1D_SRV 结构 (d3d12.h)

指定要在着色器资源视图中使用的一维纹理中的子资源。

语法

typedef struct D3D12_TEX1D_SRV {
  UINT  MostDetailedMip;
  UINT  MipLevels;
  FLOAT ResourceMinLODClamp;
} D3D12_TEX1D_SRV;

成员

MostDetailedMip

要使用的最详细的 mipmap 级别的索引;此数字介于 0 和 MipLevels 之间, (原始 Texture1D 中的 ID3D12Device::CreateShaderResourceView 创建视图) -1。

MipLevels

纹理视图的最大 mipmap 级别数。 请参阅“备注”。

设置为 -1 可指示从 MostDetailedMip 到最不详细的所有 mipmap 级别。

ResourceMinLODClamp

指定可以访问的最小 mipmap 级别。 指定 0.0f 意味着可以访问所有 mipmap 级别。 指定 3.0f 意味着可以访问从 3.0f 到 MipCount - 1 的 mipmap 级别。

建议不要同时设置 MostDetailedMipResourceMinLODClamp 。 相反,请将这两个成员中的一个设置为 0 (以获取默认行为) 。 这是因为 MipLevels 与不同的字段一起有不同的解释:

  • 对于 MostDetailedMip,mips 位于 [MostDetailedMipMostDetailedMip + MipLevels - 1] 范围内。
  • 对于 ResourceMinLODClamp,mips 位于 [ResourceMinLODClampMipLevels - 1] 范围内。

注解

此结构是着色器资源视图说明的一个成员, D3D12_SHADER_RESOURCE_VIEW_DESC

例如,假设 MostDetailedMip = 6 且 MipLevels = 2,视图将有权访问 ID3D12Device::CreateShaderResourceView 为其创建视图的原始纹理的 2 个 mipmap 级别 6 和 7。 在这种情况下,MostDetailedMip 大于视图中的 MipLevel。 但是, MostDetailedMip 不大于原始资源中的 MipLevel

要求

要求
Header d3d12.h

另请参阅

核心结构