- 修复opengl/下13个文件对overview.md的错误引用,改为opengl.md - 修复opengl/shader/下2处get-native-handle.md的错误路径引用 - 修复rhi.md中rhifactory路径错误 - 修复opengl.md中对d3d12.md的错误引用 - 修复opengl/README.md中的overview.md引用 - 新增RHIFramebuffer完整文档(7个文件) - 新增RHIRenderPass完整文档(7个文件) - 更新rhi.md总览页,添加RHIFramebuffer和RHIRenderPass分类
55 lines
1.6 KiB
Markdown
55 lines
1.6 KiB
Markdown
# RHIFramebuffer
|
||
|
||
**命名空间**: `XCEngine::RHI`
|
||
|
||
**类型**: `class (abstract)`
|
||
|
||
**头文件**: `XCEngine/RHI/RHIFramebuffer.h`
|
||
|
||
**描述**: 帧缓冲抽象接口,封装渲染目标帧缓冲的创建和管理。
|
||
|
||
## 概述
|
||
|
||
`RHIFramebuffer` 是 RHI 抽象层的帧缓冲接口,用于管理渲染目标(Render Target)的帧缓冲对象。它代表一个可用的帧缓冲结构,包含颜色附件、深度附件和模板附件。不同图形 API 后端(OpenGL、D3D12)通过实现此接口提供各自的帧缓冲管理机制。
|
||
|
||
帧缓冲是渲染管线中的核心对象,用于:
|
||
- 存储渲染操作的颜色、深度、模板数据
|
||
- 作为纹理输入传递给后续渲染步骤
|
||
- 支持多重渲染目标(MRT)和延迟渲染
|
||
|
||
## 公共方法
|
||
|
||
| 方法 | 描述 |
|
||
|------|------|
|
||
| [`Initialize`](initialize.md) | 初始化帧缓冲 |
|
||
| [`Shutdown`](shutdown.md) | 关闭帧缓冲 |
|
||
| [`GetNativeHandle`](get-native-handle.md) | 获取原生句柄 |
|
||
| [`GetWidth`](get-width.md) | 获取帧缓冲宽度 |
|
||
| [`GetHeight`](get-height.md) | 获取帧缓冲高度 |
|
||
| [`IsValid`](is-valid.md) | 检查帧缓冲是否有效 |
|
||
|
||
## 使用示例
|
||
|
||
```cpp
|
||
#include <XCEngine/RHI/RHIFramebuffer.h>
|
||
#include <XCEngine/RHI/RHIRenderPass.h>
|
||
|
||
// 通过 RHIDevice 创建帧缓冲
|
||
RHIFramebuffer* framebuffer = device->CreateFramebuffer(
|
||
renderPass,
|
||
width, height,
|
||
colorAttachmentCount,
|
||
colorAttachments,
|
||
depthStencilAttachment
|
||
);
|
||
|
||
if (framebuffer && framebuffer->IsValid()) {
|
||
// 使用帧缓冲进行渲染
|
||
framebuffer->Shutdown();
|
||
}
|
||
```
|
||
|
||
## 相关文档
|
||
|
||
- [RHIRenderPass](../render-pass/render-pass.md) - 渲染通道接口
|