# D3D12ShaderResourceView **命名空间**: `XCEngine::RHI` **类型**: `class` **头文件**: `XCEngine/RHI/D3D12/D3D12ShaderResourceView.h` **描述**: 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/opengl.md)