feat(d3d12): 实现交换链与渲染表面管理

- 新增 d3d12_surface 类,管理交换链和渲染目标
- 实现三重缓冲后台缓冲区管理
- 添加视口和裁剪矩形配置
- 修复 GraphicsPlatformInterface.h 循环包含问题
- 添加完整的中文 Doxygen 注释
- 更新 D3D12 学习 Wiki,添加交换链章节
This commit is contained in:
SpecialX
2026-03-31 11:12:11 +08:00
parent b6c0211d6a
commit 95d8893182
14 changed files with 840 additions and 27 deletions

View File

@@ -57,5 +57,45 @@ render()
gfx.render();
}
surface
create_surface(platform::window window)
{
return gfx.surface.create(window);
}
void
remove_surface(surface_id id)
{
assert(id::is_valid(id));
gfx.surface.remove(id);
}
void
surface::resize(u32 width, u32 height) const
{
assert(is_valid());
gfx.surface.resize(_id, width, height);
}
u32
surface::width() const
{
assert(is_valid());
return gfx.surface.width(_id);
}
u32
surface::height() const
{
assert(is_valid());
return gfx.surface.height(_id);
}
void
surface::render() const
{
assert(is_valid());
gfx.surface.render(_id);
}
}// namespace XEngine::graphics