1.2 KiB
1.2 KiB
D3D12Screenshot
D3D12 截图工具类,提供屏幕截图捕获功能。
头文件
#include <XCEngine/RHI/D3D12/D3D12Screenshot.h>
命名空间
XCEngine::RHI
公共静态成员函数
static bool Capture(ID3D12Device* device, ID3D12CommandQueue* commandQueue, ID3D12Resource* renderTarget, const char* filename, uint32_t width, uint32_t height)
捕获渲染目标内容并保存为图片。
device: D3D12 设备commandQueue: 命令队列renderTarget: 渲染目标资源filename: 输出文件名width/height: 截图尺寸- 返回: 捕获是否成功
内部静态成员函数
static bool CopyToReadbackAndSave(...)
内部实现:复制到回读缓冲区并保存。
使用示例
// Capture back buffer
D3D12Texture* backBuffer = swapChain->GetBackBuffer(
swapChain->GetCurrentBackBufferIndex());
D3D12Screenshot::Capture(
device->GetDevice(),
cmdQueue->GetCommandQueue(),
backBuffer->GetResource(),
"screenshot.png",
1920, 1080);
备注
- 截图自动复制到 READBACK 堆然后保存
- 支持 PNG 等常见图片格式
- 可能在内部创建临时资源