- Rename texture/dtor.md to destructor.md per template spec - Remove duplicate non-hyphenated fence docs (getnativehandle.md, issignaled.md, getcompletedvalue.md) - Fix template field issues: - swap-chain, command-queue: 类型 now uses 'class (abstract)' - sampler: 头文件 now uses full path 'XCEngine/RHI/RHISampler.h' - types: 类型 fixed from 'structs' to 'struct' - enums: 类型 fixed from 'enums' to 'enum class' - Fix include paths in command-queue and pipeline-layout code examples - Create missing constructor/destructor docs for 11 classes: buffer, texture, shader, device, command-list, command-queue, fence, sampler, swap-chain, pipeline-state, pipeline-layout - Update class overview pages to include constructor/destructor entries
2.4 KiB
2.4 KiB
RHIDevice
命名空间: XCEngine::RHI
类型: class (abstract)
头文件: XCEngine/RHI/RHIDevice.h
描述: RHI 渲染设备抽象接口,代表一个图形设备实例。
概述
RHIDevice 是 RHI 模块的核心接口之一,负责创建和管理所有 GPU 资源。每个 RHI 后端(D3D12、OpenGL 等)都需要实现此接口。
公共方法
| 方法 | 描述 |
|---|---|
RHIDevice |
默认构造函数 |
~RHIDevice |
虚析构函数 |
Initialize |
初始化设备 |
Shutdown |
关闭设备 |
CreateBuffer |
创建缓冲区 |
CreateTexture |
创建纹理 |
CreateSwapChain |
创建交换链 |
CreateCommandList |
创建命令列表 |
CreateCommandQueue |
创建命令队列 |
CompileShader |
编译着色器 |
CreatePipelineState |
创建管线状态 |
CreateFence |
创建栅栏 |
CreateSampler |
创建采样器 |
GetCapabilities |
获取设备能力 |
GetDeviceInfo |
获取设备信息 |
GetNativeDevice |
获取原生设备 |
使用示例
// 创建 D3D12 设备
RHI::RHIDevice* device = RHI::RHIFactory::CreateRHIDevice(RHI::RHIType::D3D12);
// 配置设备描述
RHI::RHIDeviceDesc desc;
desc.windowHandle = hwnd;
desc.width = 1280;
desc.height = 720;
desc.appName = L"MyApp";
desc.enableDebugLayer = true;
// 初始化设备
if (device->Initialize(desc)) {
const RHI::RHICapabilities& caps = device->GetCapabilities();
if (caps.bSupportsRayTracing) {
// 设备支持光线追踪
}
const RHI::RHIDeviceInfo& info = device->GetDeviceInfo();
printf("GPU: %ls\n", info.renderer.c_str());
// 创建资源
RHI::BufferDesc bufferDesc;
bufferDesc.size = 1024;
bufferDesc.bufferType = (uint32_t)RHI::BufferType::Vertex;
RHI::RHIBuffer* buffer = device->CreateBuffer(bufferDesc);
device->Shutdown();
}
delete device;
相关文档
- ../../rhi.md - RHI 模块总览
- RHIFactory - 设备工厂
- RHICapabilities - 设备能力
- RHITypes - 设备描述结构体