Extra2D/docs
ChestnutYueyue 9e911db53c refactor(渲染器): 将RenderBackend重命名为Renderer并重构相关代码
重构渲染器接口命名,将RenderBackend统一更名为Renderer,同时更新所有相关文件和文档引用。此变更旨在提供更简洁清晰的接口命名,并保持代码一致性。

- 重命名RenderBackend类为Renderer
- 更新所有相关文件中的类型引用和文档
- 保持原有功能不变,仅进行命名和结构调整
- 修复因重命名导致的编译错误和警告
2026-02-20 15:04:21 +08:00
..
README.md refactor(opengl): 重构渲染器资源管理并引入资源抽象层 2026-02-17 22:36:02 +08:00
module_system.md refactor(渲染器): 将RenderBackend重命名为Renderer并重构相关代码 2026-02-20 15:04:21 +08:00

README.md

资源抽象层 (Resources Abstraction Layer)

此目录包含渲染后端无关的资源抽象接口。

文件说明

头文件 (include/extra2d/graphics/resources/)

  • buffer.h - 缓冲区抽象接口

    • 顶点缓冲、索引缓冲、统一缓冲
    • 支持 Static/Dynamic/Stream 使用模式
  • pipeline.h - 渲染管线抽象接口

    • 混合模式、深度测试、裁剪状态
    • 顶点属性描述
  • framebuffer.h - 帧缓冲抽象接口

    • 多颜色附件支持
    • 深度/模板附件
    • 多重采样支持
  • font_atlas.h - 字体图集抽象接口

    • 字形信息管理
    • SDF 渲染支持
    • 文本测量功能
  • shader.h - 着色器抽象接口

    • Uniform 变量设置
    • 支持各种数据类型

实现说明

这些接口是纯虚类(抽象接口),不需要在 src/graphics/resources/ 目录中提供实现。

实际的实现位于各个渲染后端目录中:

  • OpenGL 实现: src/graphics/backends/opengl/
  • Vulkan 实现: src/graphics/backends/vulkan/ (未来)

设计原则

  1. 后端无关 - 接口不依赖任何特定渲染 API
  2. 工厂模式 - 通过后端工厂创建具体实现
  3. 资源管理 - 使用智能指针管理资源生命周期
  4. 类型安全 - 使用强类型枚举和结构体