30 lines
564 B
Markdown
30 lines
564 B
Markdown
|
|
# RHIDevice::GetNativeDevice
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
virtual void* GetNativeDevice() = 0;
|
||
|
|
```
|
||
|
|
|
||
|
|
获取原生图形 API 设备指针。
|
||
|
|
|
||
|
|
**返回:**
|
||
|
|
- D3D12 后端: `ID3D12Device*`
|
||
|
|
- OpenGL 后端: `void*` (GLFWwindow* 或 GL 上下文指针)
|
||
|
|
|
||
|
|
**复杂度:** O(1)
|
||
|
|
|
||
|
|
**示例:**
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
void* nativeDevice = device->GetNativeDevice();
|
||
|
|
|
||
|
|
// D3D12 使用
|
||
|
|
ID3D12Device* d3d12Device = static_cast<ID3D12Device*>(nativeDevice);
|
||
|
|
|
||
|
|
// OpenGL 使用
|
||
|
|
GLFWwindow* glfwWindow = static_cast<GLFWwindow*>(nativeDevice);
|
||
|
|
```
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [RHIDevice 总览](device.md) - 返回类总览
|