# RHISwapChain **命名空间**: `XCEngine::RHI` **类型**: `class` (abstract) **头文件**: `XCEngine/RHI/RHISwapChain.h` **描述**: GPU 交换链抽象接口,管理窗口渲染和帧缓冲区切换。 ## 概述 `RHISwapChain` 是 RHI 模块中的核心接口之一,负责管理渲染目标帧缓冲区的切换和呈现。该抽象类为不同图形 API(D3D12、Vulkan 等)提供统一接口,使上层渲染代码无需关心底层实现细节。 主要职责: - 管理前后台缓冲区切换 - 协调垂直同步呈现 - 提供原生 API 句柄供高级用法 ## 公共方法 | 方法 | 描述 | |------|------| | [`~RHISwapChain`](destructor.md) | 虚析构函数 | | [`Shutdown`](shutdown.md) | 关闭并释放资源 | | [`GetCurrentBackBufferIndex`](get-current-back-buffer-index.md) | 获取当前后台缓冲区索引 | | [`GetCurrentBackBuffer`](get-current-back-buffer.md) | 获取当前后台缓冲区 | | [`Present`](present.md) | 呈现画面 | | [`Resize`](resize.md) | 调整交换链大小 | | [`GetNativeHandle`](get-native-handle.md) | 获取原生句柄 | ## 使用示例 ```cpp RHITexture* backBuffer = swapChain->GetCurrentBackBuffer(); commandList->Reset(); commandList->SetRenderTargets(1, &backBuffer, nullptr); commandList->ClearRenderTarget(backBuffer, clearColor); commandList->Close(); commandQueue->ExecuteCommandLists(1, (void**)&commandList); swapChain->Present(1, 0); ``` ## 相关文档 - [RHI 模块总览](../rhi.md) - RHI 模块总览 - [RHITexture](../texture/texture.md) - 纹理资源