49 lines
1.4 KiB
Markdown
49 lines
1.4 KiB
Markdown
# D3D12ShaderResourceView
|
||
|
||
**命名空间**: `XCEngine::RHI`
|
||
|
||
**描述**: DirectX 12 着色器资源视图(Shader Resource View, SRV)的 D3D12 实现。SRV 允许着色器访问纹理、缓冲区等资源。
|
||
|
||
## 概述
|
||
|
||
`D3D12ShaderResourceView` 封装了 D3D12 的 `CreateShaderResourceView` 操作,提供两种初始化方式:
|
||
- `Initialize`: 自动分配描述符句柄
|
||
- `InitializeAt`: 在预分配的描述符位置创建视图
|
||
|
||
## 公共方法
|
||
|
||
| 方法 | 描述 |
|
||
|------|------|
|
||
| [`D3D12ShaderResourceView()`](constructor.md) | 构造函数 |
|
||
| [`~D3D12ShaderResourceView()`](destructor.md) | 析构函数 |
|
||
| [`Initialize`](initialize.md) | 初始化着色器资源视图 |
|
||
| [`InitializeAt`](initialize-at.md) | 在指定位置初始化 |
|
||
| [`Shutdown`](shutdown.md) | 关闭着色器资源视图 |
|
||
| [`GetCPUDescriptorHandle`](get-cpu-descriptor-handle.md) | 获取 CPU 描述符句柄 |
|
||
| [`CreateDesc`](create-desc.md) | 创建描述符(静态) |
|
||
|
||
## 使用示例
|
||
|
||
```cpp
|
||
// 创建设备和资源
|
||
ID3D12Device* device;
|
||
ID3D12Resource* texture;
|
||
// ... 初始化设备资源 ...
|
||
|
||
// 创建 SRV
|
||
D3D12ShaderResourceView* srv = new D3D12ShaderResourceView();
|
||
srv->Initialize(device, texture, nullptr);
|
||
|
||
// 获取描述符句柄用于绑定
|
||
D3D12_CPU_DESCRIPTOR_HANDLE handle = srv->GetCPUDescriptorHandle();
|
||
|
||
// 清理
|
||
srv->Shutdown();
|
||
delete srv;
|
||
```
|
||
|
||
## 相关文档
|
||
|
||
- [D3D12 后端概览](../d3d12.md)
|
||
- [OpenGL 后端](../../opengl/overview.md)
|