D3D10_1DDIARG_CREATESHADERRESOURCEVIEW 结构 (d3d10umddi.h)

D3D10_1DDIARG_CREATESHADERRESOURCEVIEW 结构描述了要创建的着色器资源视图。

语法

typedef struct D3D10_1DDIARG_CREATESHADERRESOURCEVIEW {
  [in] D3D10DDI_HRESOURCE    hDrvResource;
  [in] DXGI_FORMAT           Format;
  [in] D3D10DDIRESOURCE_TYPE ResourceDimension;
  union {
    [in] D3D10DDIARG_BUFFER_SHADERRESOURCEVIEW    Buffer;
    [in] D3D10DDIARG_TEX1D_SHADERRESOURCEVIEW     Tex1D;
    [in] D3D10DDIARG_TEX2D_SHADERRESOURCEVIEW     Tex2D;
    [in] D3D10DDIARG_TEX3D_SHADERRESOURCEVIEW     Tex3D;
    [in] D3D10_1DDIARG_TEXCUBE_SHADERRESOURCEVIEW TexCube;
  };
} D3D10_1DDIARG_CREATESHADERRESOURCEVIEW;

成员

[in] hDrvResource

着色器资源的句柄。

[in] Format

一个DXGI_FORMAT类型的值,指示视图的像素格式。

[in] ResourceDimension

一个D3D10DDIRESOURCE_TYPE类型的值,指示资源类型和维度。

[in] Buffer

如果 ResourceDimension 成员中的值设置为 D3D10DDIRESOURCE_BUFFER,则为包含在 D3D10_1DDIARG_CREATESHADERRESOURCEVIEW 中的联合中的成员,可为缓冲区保存 D3D10DDIARG_BUFFER_SHADERRESOURCEVIEW 结构。

[in] Tex1D

如果 ResourceDimension 成员中的值设置为 D3D10DDIRESOURCE_TEXTURE1D,则为包含在 D3D10_1DDIARG_CREATESHADERRESOURCEVIEW 中的联合中的成员,可为一维纹理保留 D3D10DDIARG_TEX1D_SHADERRESOURCEVIEW 结构。

[in] Tex2D

如果 ResourceDimension 成员中的值设置为 D3D10DDIRESOURCE_TEXTURE2D,则为包含在 D3D10_1DDIARG_CREATESHADERRESOURCEVIEW 中的联合中的成员,该成员可以保存二维纹理 的D3D10DDIARG_TEX2D_SHADERRESOURCEVIEW 结构。

[in] Tex3D

如果 ResourceDimension 成员中的值设置为 D3D10DDIRESOURCE_TEXTURE3D,则为包含在 D3D10_1DDIARG_CREATESHADERRESOURCEVIEW 中的联合中的成员,该成员可以保存三维纹理 的D3D10DDIARG_TEX3D_SHADERRESOURCEVIEW 结构。

[in] TexCube

如果 ResourceDimension 成员中的值设置为 D3D10DDIRESOURCE_TEXTURECUBE,则为包含在 D3D10_1DDIARG_CREATESHADERRESOURCEVIEW 中的联合中的成员,该成员可以保存多维数据集纹理 的D3D10DDIARG_TEXCUBE_SHADERRESOURCEVIEW 结构。

注解

CreateShaderResourceView (D3D10_1) 具有与 Direct3D 10.0 版本 (的主要功能差异,即 CreateShaderResourceView) 与 D3D10_1DDIARG_CREATESHADERRESOURCEVIEW 的 ResourceDimension 成员。 如果 Direct3D 运行时尝试在着色器资源上创建视图,CreateShaderResourceView 要求D3D10DDIARG_CREATESHADERRESOURCEVIEWResourceDimension 成员与在调用驱动程序的 CreateResource (D3D10) 函数中创建的着色器资源的 D3D10DDIARG_CREATERESOURCEResourceDimension 成员匹配。 如果 Direct3D 10.1 运行时尝试在着色器资源上创建视图, 则 CreateShaderResourceView (D3D10_1) 允许对其 ResourceDimension 成员稍稍放宽。 CreateShaderResourceView (D3D10_1) 允许在 TexCube 资源上创建 Tex2D 视图。 此外,Direct3D 版本 10.1 中没有区分资源级别的 TexCube。 CreateShaderResourceView (D3D10_1) 仅表示它是否可以创建 TexCube 视图。 在 Direct3D 版本 10.0 中,复制资源、验证多个呈现目标等 (即,要求资源类型相同的各种操作) 都包含 TexCube 的区别以纳入资源类型。 在 Direct3D 版本 10.1 中,运行时只能确定 Tex2D。

要求

要求
最低受支持的客户端 Windows Vista Service Pack 1 (SP1)
最低受支持的服务器 Windows Server 2008
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

CalcPrivateShaderResourceViewSize (D3D10_1)

CreateShaderResourceView (D3D10_1)

D3D10DDIARG_BUFFER_SHADERRESOURCEVIEW

D3D10DDIARG_TEX1D_SHADERRESOURCEVIEW

D3D10DDIARG_TEX2D_SHADERRESOURCEVIEW

D3D10DDIARG_TEX3D_SHADERRESOURCEVIEW

D3D10DDIARG_TEXCUBE_SHADERRESOURCEVIEW

D3D10DDIRESOURCE_TYPE