Files
DX12/Engine/Graphics/Renderer.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

56 lines
1.1 KiB
C++

#pragma once
#include "CommonHeader.h"
#include "..\Platform\Window.h"
namespace XEngine::graphics {
/**
* @brief 表面类
* @details 定义了渲染表面的属性与操作
*/
class surface
{
};
/**
* @brief 渲染表面结构体
* @details 定义了渲染表面的窗口与表面对象
*/
struct render_surface
{
platform::window window{};
surface surface{};
};
/**
* @brief 图形渲染平台枚举
* @details 定义了支持的图形渲染平台类型
*/
enum class graphics_platform : u32
{
direct3d12 = 0,
vulkan = 1,
opengl = 2,
};
/**
* @brief 初始化图形渲染平台
* @details 调用设置平台接口函数,初始化指定的图形渲染平台
* @param platform 图形渲染平台类型
* @return true 如果初始化成功,否则返回 false
*/
bool initialize(graphics_platform platform);
/**
* @brief 关闭图形渲染平台
* @details 调用关闭函数指针,关闭指定的图形渲染平台
*/
void shutdown();
/**
* @brief 渲染调用接口
* @details 调用渲染函数指针,渲染当前渲染表面
*/
void render();
}