项目简介
EmberGL是一个低级开源图形库,类似于OpenGL、DirectX、Vulkan。它专为MCU等内存受限的非GPU系统的实时2D/3D渲染设计,其图形API针对此类系统做了特别优化,能在有限内存下提升渲染性能,还具备高度灵活性和可定制性。该库不仅适用于内存受限系统,也能在软件光栅化项目中,于内存预算更充裕的目标设备上使用,且可在Visual Studio和GCC等环境中编译。
项目的主要特性和功能
- 核心渲染功能:提供灵活高效的三角形光栅化核心渲染功能,支持组件和显示驱动。
- 固定功能与可编程特性:支持深度测试、三角形剔除和插值模式等固定功能管道特性,同时支持C++可编程混合、顶点与像素着色阶段,实现自定义几何和光照效果。
- 瓦片基软件光栅器:采用瓦片基渲染架构,无需为整个显示帧和深度缓冲区分配RAM,减少内存带宽需求,拓展应用范围。
- 优化显示驱动:提供一系列优化的显示驱动,可将光栅化像素高效传输到显示设备,如支持DMA的ILI9341显示驱动。
- 纹理支持:支持多种格式的2D纹理,可通过PTX Texture Converter工具将PNG、JPG等格式转换为PTX格式使用。
- 数学库:附带全面的C++模板数学库,包含矩阵、向量、四元数等类,用于2D和3D渲染的数学运算。
安装使用步骤
假设用户已下载本项目的源码文件,可按以下步骤进行安装和使用:
1. 了解项目结构:查看源代码目录,熟悉项目的文件和目录结构。
2. 依赖管理:确认已安装项目所需的所有外部库依赖。
3. 配置构建:根据目标平台(如Arduino)和具体需求,在egl_core.h
中选择合适的构建配置(Debug、Release或Retail),并取消相应定义的注释。
4. 编译项目:使用合适的编译器(如Visual Studio、GCC)和构建工具对项目进行编译。
5. 运行示例:运行examples
目录下的示例代码,验证安装和配置是否正确。示例代码以Arduino的.ino
文件形式提供,.ino
文件本质是C++代码,setup()
函数在程序开始时执行一次,loop()
函数每帧无限循环执行。
6. 开始开发:基于示例代码,使用EmberGL进行图形应用程序的开发。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】