26 lines
573 B
Markdown
26 lines
573 B
Markdown
|
|
# RHIFramebuffer::GetNativeHandle
|
|||
|
|
|
|||
|
|
获取帧缓冲的原生句柄。
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
virtual void* GetNativeHandle() = 0;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
返回底层图形 API 的帧缓冲句柄。不同后端返回不同类型:
|
|||
|
|
- OpenGL: 返回 `GLuint`(帧缓冲对象 ID)
|
|||
|
|
- D3D12: 返回 `ID3D12Resource*` 指针
|
|||
|
|
|
|||
|
|
**返回:** `void*` - 原生句柄
|
|||
|
|
|
|||
|
|
**线程安全:** ❌
|
|||
|
|
|
|||
|
|
**示例:**
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
void* handle = framebuffer->GetNativeHandle();
|
|||
|
|
#ifdef XCENGINE_OPENGL
|
|||
|
|
GLuint fbo = static_cast<GLuint>(reinterpret_cast<intptr_t>(handle));
|
|||
|
|
glBindFramebuffer(GL_FRAMEBUFFER, fbo);
|
|||
|
|
#endif
|
|||
|
|
```
|