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_CREATESHADERRESOURCEVIEW的 ResourceDimension 成员与在调用驱动程序的 CreateResource (D3D10) 函数中创建的着色器资源的 D3D10DDIARG_CREATERESOURCE 的 ResourceDimension 成员匹配。 如果 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