- 移除冗余的配置系统实现细节,聚焦核心架构 - 优化模块与服务的对比表格,突出关键差异 - 简化示例代码,保留核心用法展示 - 更新架构图,更清晰展示模块与服务的层级关系 - 统一术语使用,增强文档一致性 |
||
|---|---|---|
| .. | ||
| README.md | ||
| module_system.md | ||
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/(未来)
设计原则
- 后端无关 - 接口不依赖任何特定渲染 API
- 工厂模式 - 通过后端工厂创建具体实现
- 资源管理 - 使用智能指针管理资源生命周期
- 类型安全 - 使用强类型枚举和结构体