Extra2D/docs/README.md

45 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

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