48 lines
1.0 KiB
Markdown
48 lines
1.0 KiB
Markdown
|
|
# D3D12RootSignature::Initialize
|
|||
|
|
|
|||
|
|
## 函数签名
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
bool Initialize(ID3D12Device* device, const D3D12_ROOT_SIGNATURE_DESC& desc)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 中文描述
|
|||
|
|
|
|||
|
|
初始化 D3D12 根签名对象,使用提供的描述符序列化并创建根签名。
|
|||
|
|
|
|||
|
|
## 参数
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 描述 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `device` | `ID3D12Device*` | D3D12 设备指针 |
|
|||
|
|
| `desc` | `const D3D12_ROOT_SIGNATURE_DESC&` | 根签名描述符 |
|
|||
|
|
|
|||
|
|
## 返回值
|
|||
|
|
|
|||
|
|
`bool` - 初始化成功返回 `true`,失败返回 `false`
|
|||
|
|
|
|||
|
|
## 复杂度
|
|||
|
|
|
|||
|
|
O(n),n 为参数和采样器数量
|
|||
|
|
|
|||
|
|
## 示例
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
D3D12RootSignature rootSig;
|
|||
|
|
|
|||
|
|
D3D12_ROOT_SIGNATURE_DESC desc = D3D12RootSignature::CreateDesc(
|
|||
|
|
parameters.data(),
|
|||
|
|
parameters.size(),
|
|||
|
|
samplers.data(),
|
|||
|
|
samplers.size());
|
|||
|
|
|
|||
|
|
if (rootSig.Initialize(device, desc)) {
|
|||
|
|
// 根签名创建成功
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
|
|||
|
|
- [D3D12RootSignature](root-signature.md) - 类总览
|
|||
|
|
- [D3D12RootSignature::Shutdown](shutdown.md) - 关闭根签名
|
|||
|
|
- [D3D12RootSignature::CreateDesc](create-desc.md) - 创建描述符
|