1.4 KiB
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 的描述符堆