- 修复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分类
1.6 KiB
1.6 KiB
RHIFramebuffer
命名空间: XCEngine::RHI
类型: class (abstract)
头文件: XCEngine/RHI/RHIFramebuffer.h
描述: 帧缓冲抽象接口,封装渲染目标帧缓冲的创建和管理。
概述
RHIFramebuffer 是 RHI 抽象层的帧缓冲接口,用于管理渲染目标(Render Target)的帧缓冲对象。它代表一个可用的帧缓冲结构,包含颜色附件、深度附件和模板附件。不同图形 API 后端(OpenGL、D3D12)通过实现此接口提供各自的帧缓冲管理机制。
帧缓冲是渲染管线中的核心对象,用于:
- 存储渲染操作的颜色、深度、模板数据
- 作为纹理输入传递给后续渲染步骤
- 支持多重渲染目标(MRT)和延迟渲染
公共方法
| 方法 | 描述 |
|---|---|
Initialize |
初始化帧缓冲 |
Shutdown |
关闭帧缓冲 |
GetNativeHandle |
获取原生句柄 |
GetWidth |
获取帧缓冲宽度 |
GetHeight |
获取帧缓冲高度 |
IsValid |
检查帧缓冲是否有效 |
使用示例
#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 - 渲染通道接口