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