Files
XCEngine/docs/api/rhi/d3d12/d3d12-shader-resource-view.md

1.4 KiB

D3D12ShaderResourceView

DirectX 12 着色器资源视图的 D3D12 实现。

头文件

#include <XCEngine/RHI/D3D12/D3D12ShaderResourceView.h>

公共成员函数

构造函数与析构函数

D3D12ShaderResourceView()

默认构造函数。

~D3D12ShaderResourceView()

析构函数,确保调用 Shutdown()

初始化

void Initialize(ID3D12Device* device, ID3D12Resource* resource, const D3D12_SHADER_RESOURCE_VIEW_DESC* desc = nullptr)

创建 SRV。

void InitializeAt(ID3D12Device* device, ID3D12Resource* resource, D3D12_CPU_DESCRIPTOR_HANDLE handle, const D3D12_SHADER_RESOURCE_VIEW_DESC* desc = nullptr)

在指定位置创建 SRV。

void Shutdown()

释放 SRV。

属性

D3D12_CPU_DESCRIPTOR_HANDLE GetCPUDescriptorHandle() const

获取 CPU 描述符句柄。

静态辅助函数

static D3D12_SHADER_RESOURCE_VIEW_DESC CreateDesc(Format format, D3D12_SRV_DIMENSION dimension = D3D12_SRV_DIMENSION_TEXTURE2D, uint32_t mipLevels = 1)

创建 SRV 描述。

内部成员

成员 类型 描述
m_handle D3D12_CPU_DESCRIPTOR_HANDLE CPU 描述符句柄
m_resource ID3D12Resource* 关联的资源

备注

  • SRV 用于在 shader 中读取资源
  • SRV 必须在 CBV_SRV_UAV 类型描述符堆中分配
  • 如果需要在 shader 中访问,必须创建 shader visible 的描述符堆