# RHIFactory **命名空间**: `XCEngine::RHI` **类型**: `class` (static methods only) **头文件**: `XCEngine/RHI/RHIFactory.h` **描述**: RHI 设备工厂,用于创建不同图形 API 后端的渲染设备。 ## 概述 `RHIFactory` 是静态工厂类,提供统一的接口来创建不同后端的 `RHIDevice` 实例。通过 `RHIType` 枚举指定要创建的后端类型。 ## 公共方法 | 方法 | 描述 | |------|------| | [`~RHIFactory`](destructor.md) | 虚析构函数 | | [`CreateRHIDevice(RHIType)`](create-rhi-device-type.md) | 使用枚举类型创建 RHI 设备 | | [`CreateRHIDevice(std::string)`](create-rhi-device-string.md) | 使用字符串创建 RHI 设备 | ## 类型映射 | RHIType | typeName 参数值 | |----------|-----------------| | `RHIType::D3D12` | `"D3D12"` | | `RHIType::OpenGL` | `"OpenGL"` | | `RHIType::Vulkan` | `"Vulkan"` | | `RHIType::Metal` | `"Metal"` | ## 使用示例 ```cpp // 方法1:使用枚举创建 RHIDevice* d3d12Device = RHIFactory::CreateRHIDevice(RHIType::D3D12); // 方法2:使用字符串创建 RHIDevice* glDevice = RHIFactory::CreateRHIDevice("OpenGL"); // 方法3:根据配置选择 std::string backend = "D3D12"; RHIDevice* device = RHIFactory::CreateRHIDevice(backend); ``` ## 相关文档 - [../rhi/rhi.md](../rhi.md) - RHI 模块总览 - [RHIDevice](../device/device.md) - 渲染设备 - [RHIEnums](../enums/enums.md) - RHIType 枚举定义