Files
XCEngine/docs/api/rhi/d3d12/root-signature/root-signature.md

52 lines
1.9 KiB
Markdown

# D3D12RootSignature
**命名空间**: `XCEngine::RHI`
**类型**: `class` (D3D12-specific, does not inherit from RHI)
**头文件**: `XCEngine/RHI/D3D12/D3D12RootSignature.h`
**描述**: DirectX 12 根签名的 D3D12 实现,提供根签名序列化、参数创建等功能。
## 公共方法
| 方法 | 描述 |
|------|------|
| [`D3D12RootSignature`](constructor.md) | 构造函数 |
| [`~D3D12RootSignature`](destructor.md) | 析构函数 |
| [`Initialize`](initialize.md) | 初始化根签名 |
| [`Shutdown`](shutdown.md) | 关闭根签名 |
| [`GetRootSignature`](get-root-signature.md) | 获取 D3D12 根签名 |
| [`GetNativeHandle`](get-native-handle.md) | 获取原生句柄 |
| [`GetParameterCount`](get-parameter-count.md) | 获取参数数量 |
| [`CreateDesc`](create-desc.md) | 创建根签名描述符(静态) |
| [`CreateCBV`](create-cbv.md) | 创建常量缓冲区视图(静态) |
| [`CreateSRV`](create-srv.md) | 创建着色器资源视图(静态) |
| [`CreateUAV`](create-uav.md) | 创建无序访问视图(静态) |
| [`Create32BitConstants`](create-32bit-constants.md) | 创建 32 位常量(静态) |
| [`CreateDescriptorTable`](create-descriptor-table.md) | 创建描述符表(静态) |
| [`CreateStaticSampler`](create-static-sampler.md) | 创建静态采样器(静态) |
| [`CreateSamplerDesc`](create-sampler-desc.md) | 创建采样器描述符(静态) |
| [`CreateDescriptorRange`](create-descriptor-range.md) | 创建描述符范围(静态) |
## 使用示例
```cpp
D3D12RootSignature rootSig;
D3D12_ROOT_PARAMETER params[2] = {};
params[0] = D3D12RootSignature::CreateCBV(0);
params[1] = D3D12RootSignature::CreateSRV(0);
D3D12_ROOT_SIGNATURE_DESC desc = D3D12RootSignature::CreateDesc(params, 2);
if (rootSig.Initialize(device, desc)) {
ID3D12RootSignature* rs = rootSig.GetRootSignature();
rootSig.Shutdown();
}
```
## 相关文档
- [D3D12 后端总览](../d3d12.md)