# 资源抽象层 (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. **类型安全** - 使用强类型枚举和结构体