Files
DX12/Engine/Graphics/Direct3D12/D3D12Core.h
SpecialX 7da17ccadd feat: implement command queue with multi-frame buffering
D3D12 Core:
- Add d3d12_command class for command queue management
- Support Direct/Compute/Copy command queue types
- Implement multi-frame buffering (frame_buffer_count=3)
- Add begin_frame/end_frame rendering cycle
- Add NAME_D3D12_OBJECT_INDEXED macro

Platform Interface:
- Add render function pointer to platform_interface
- Implement render() in Renderer

Documentation:
- Add changelog for command queue implementation
- Update D3D12 Wiki with multi-frame buffering section
- Mark command queue task as completed
2026-03-27 12:31:12 +08:00

35 lines
860 B
C++

#pragma once
/**
* @brief Direct3D 12 核心类
* @details 定义了 Direct3D 12 核心功能的初始化与关闭函数
*/
namespace XEngine::graphics::d3d12::core{
/**
* @brief 初始化 Direct3D 12 核心功能
* @details 调用 DXGI 接口,确定要使用的 GPU 并创建 Direct3D 12 设备
* @return true 如果初始化成功,否则返回 false
*/
bool initialize();
/**
* @brief 关闭 Direct3D 12 核心功能
* @details 调用 Direct3D 12 设备的关闭函数,释放所有资源
*/
void shutdown();
/**
* @brief 渲染 Direct3D 12 核心功能
* @details 调用 Direct3D 12 设备的渲染函数,渲染当前渲染表面
*/
void render();
template<typename T>
constexpr void release(T*& resource)
{
if(resource)
{
resource->Release();
resource = nullptr;
}
}
}// namespace XEngine::graphics::d3d12