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
56 lines
1.1 KiB
C++
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();
|
|
|
|
} |