65 lines
1.3 KiB
Markdown
65 lines
1.3 KiB
Markdown
# D3D12Sampler
|
||
|
||
DirectX 12 采样器的 D3D12 实现。
|
||
|
||
## 头文件
|
||
|
||
```cpp
|
||
#include <XCEngine/RHI/D3D12/D3D12Sampler.h>
|
||
```
|
||
|
||
## 继承关系
|
||
|
||
```
|
||
RHISampler (interface)
|
||
└── D3D12Sampler (implementation)
|
||
```
|
||
|
||
## 公共成员函数
|
||
|
||
### 构造函数与析构函数
|
||
|
||
#### `D3D12Sampler()`
|
||
默认构造函数。
|
||
|
||
#### `~D3D12Sampler() override`
|
||
析构函数,确保调用 `Shutdown()`。
|
||
|
||
### 初始化
|
||
|
||
#### `bool Initialize(ID3D12Device* device, const D3D12_SAMPLER_DESC& desc)`
|
||
初始化采样器。
|
||
- `device`: D3D12 设备
|
||
- `desc`: D3D12 采样器描述
|
||
- 返回: 初始化是否成功
|
||
|
||
#### `void Shutdown() override`
|
||
释放采样器。
|
||
|
||
### 描述
|
||
|
||
#### `D3D12_SAMPLER_DESC GetDesc() const`
|
||
获取采样器描述。
|
||
|
||
### 接口实现
|
||
|
||
#### `void* GetNativeHandle() override`
|
||
返回 `nullptr`(D3D12 采样器通过描述符堆管理)。
|
||
|
||
#### `unsigned int GetID() override`
|
||
返回 0。
|
||
|
||
#### `void Bind(unsigned int unit) override / Unbind(unsigned int unit) override`
|
||
绑定/解绑(空实现)。
|
||
|
||
## 内部成员
|
||
|
||
| 成员 | 类型 | 描述 |
|
||
|------|------|------|
|
||
| `m_desc` | `D3D12_SAMPLER_DESC` | 采样器描述 |
|
||
|
||
## 备注
|
||
|
||
- D3D12 采样器通常放在根签名或采样器描述符堆中
|
||
- 静态采样器在根签名中声明,无需描述符堆
|