fix: improve doc link navigation and tree display

- Fix link resolution with proper relative/absolute path handling
- Improve link styling with underline decoration
- Hide leaf nodes from tree, only show directories
- Fix log file path for packaged app
This commit is contained in:
2026-03-19 12:44:08 +08:00
parent e003fe6513
commit 58a83f445a
1012 changed files with 56880 additions and 22 deletions

View File

@@ -0,0 +1,31 @@
# RHIFactory::CreateRHIDevice (string)
```cpp
static RHIDevice* CreateRHIDevice(const std::string& typeName);
```
根据字符串名称创建 RHI 设备。
**参数:**
- `typeName` - 后端类型名称字符串(不区分大小写)
**返回:** 新创建的设备指针,失败返回 `nullptr`
**复杂度:** O(1)
**支持的类型名称:**
- `"D3D12"` / `"d3d12"`
- `"OpenGL"` / `"opengl"` / `"GL"`
- Vulkan 和 Metal 暂不支持
**示例:**
```cpp
// 从配置文件读取后端类型
std::string backendType = "D3D12";
RHIDevice* device = RHIFactory::CreateRHIDevice(backendType);
```
## 相关文档
- [RHIFactory 总览](factory.md) - 返回类总览

View File

@@ -0,0 +1,28 @@
# RHIFactory::CreateRHIDevice
```cpp
static RHIDevice* CreateRHIDevice(RHIType type);
```
根据枚举类型创建 RHI 设备。
**参数:**
- `type` - 后端类型枚举值
**返回:** 新创建的设备指针,失败返回 `nullptr`
**复杂度:** O(1)
**示例:**
```cpp
RHIDevice* device = RHIFactory::CreateRHIDevice(RHIType::D3D12);
if (device) {
device->Initialize(desc);
}
```
## 相关文档
- [RHIFactory 总览](factory.md) - 返回类总览
- [RHIType](../enums/enums.md) - 枚举类型

View File

@@ -0,0 +1,47 @@
# RHIFactory
**命名空间**: `XCEngine::RHI`
**类型**: `class` (static)
**描述**: RHI 设备工厂,用于创建不同图形 API 后端的渲染设备。
## 概述
`RHIFactory` 是静态工厂类,提供统一的接口来创建不同后端的 `RHIDevice` 实例。通过 `RHIType` 枚举指定要创建的后端类型。
## 公共方法
| 方法 | 描述 |
|------|------|
| [`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 枚举定义