# D3D12Sampler DirectX 12 采样器的 D3D12 实现。 ## 头文件 ```cpp #include ``` ## 继承关系 ``` 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 采样器通常放在根签名或采样器描述符堆中 - 静态采样器在根签名中声明,无需描述符堆