Skip to main content
创建用于访问资源中数据的着色器资源视图。

语法

参数

pResource [in, optional]
类型:ID3D12Resource *
指向表示着色器资源的 ID3D12Resource 对象的指针。 必须提供 pResourcepDesc 中的至少一个。使用空的 pResource 来初始化空描述符,这将保证类似 D3D11 的空绑定行为(读取 0,写入被丢弃),但必须具有有效的 pDesc 才能确定描述符类型。 pDesc [in, optional]
类型:const D3D12_SHADER_RESOURCE_VIEW_DESC *
指向描述着色器资源视图的 D3D12_SHADER_RESOURCE_VIEW_DESC 结构体的指针。 如果可能,使用空的 pDesc 来初始化默认描述符。此行为与 D3D11 空描述符行为相同,其中会填入默认值。此行为继承资源格式和维度(如果不是无类型),对于缓冲区,SRV 面向整个缓冲区且为类型化(而非原始或结构化),对于纹理,SRV 面向整个纹理、所有 mip 和所有数组切片。并非所有资源都支持空描述符初始化。 DestDescriptor [in]
类型:D3D12_CPU_DESCRIPTOR_HANDLE
描述表示着色器资源视图的 CPU 描述符句柄。此句柄可以在着色器可见或非着色器可见的描述符堆中创建。

返回值

类型:void 无。

备注

处理 YUV 4:2:0 视频格式

应用程序必须将亮度 (Y) 平面与色度 (UV) 平面分开映射。开发人员通过为同一纹理调用 CreateShaderResourceView 两次并传入 1 通道和 2 通道格式来实现这一点。传入与 Y 平面兼容的 1 通道格式仅映射 Y 平面。传入与 UV 平面(一起)兼容的 2 通道格式仅将 U 和 V 平面映射为单个资源视图。
YUV 4:2:0 格式列在 DXGI_FORMAT 中。

示例

D3D12nBodyGravity 示例按以下方式使用 ID3D12Device::CreateShaderResourceView 基于一个描述描述并创建两个着色器资源视图。
请参阅 D3D12 参考中的示例代码

要求

头文件: d3d12_xs.h 或 d3d12_x.h
库: d3d12_xs.lib 或 d3d12_x.lib
支持的平台:XBOX Series 主机和 XBOX One 系列

另请参阅

ID3D12Device
最后修改于 2026年8月13日