docs: update RHI API docs

This commit is contained in:
2026-03-20 02:35:45 +08:00
parent ea756c0177
commit 070b444f8f
501 changed files with 13493 additions and 2022 deletions

View File

@@ -4,12 +4,32 @@
virtual void* GetNativeHandle() = 0;
```
获取原生 API 句柄。
获取原生图形 API 句柄。
**返回:** 原生着色器句柄
返回底层图形 API如 D3D12、Vulkan的原生着色器对象指针。用于需要直接访问底层 API 的高级场景,或与外部库互操作。
**返回:** 指向原生着色器对象的指针,类型取决于具体实现(如 D3D12: `ID3DBlob*`Vulkan: `VkShaderModule`
**线程安全:** ❌(访问底层资源,非线程安全)
**复杂度:** O(1)
**示例:**
```cpp
RHIShader* shader = device->CreateShader();
shader->CompileFromFile(L"shaders/compute.cso", "CSMain", "cs_5_0");
void* nativeHandle = shader->GetNativeHandle();
#ifdef XCENGINE_D3D12
ID3DBlob* d3dBlob = static_cast<ID3DBlob*>(nativeHandle);
// 使用 D3D12 API...
#elif defined(XCENGINE_VULKAN)
VkShaderModule vkModule = reinterpret_cast<VkShaderModule>(nativeHandle);
// 使用 Vulkan API...
#endif
```
## 相关文档
- [RHIShader 总览](shader.md) - 返回类总览
- [RHIShader](shader.md) - 返回类总览