硬汉嵌入式论坛

 找回密码
 立即注册
查看: 973|回复: 0
收起左侧

[客户分享] EmberGL(3D引擎库) On AT32F437-附源码

[复制链接]

4

主题

24

回帖

36

积分

新手上路

积分
36
发表于 2023-1-30 19:16:03 | 显示全部楼层 |阅读模式
本帖最后由 muyichuan2012 于 2023-1-30 19:29 编辑

EmberGL(3D引擎库) On AT32F437



示例目的
本示例演示在AT32F437 MCU上运行EmberGL。
演示视频效果链接如下:
https://b23.tv/ieMLePz



支持型号
AT32F435xx
AT32F437xx


EmberGL 概述
EmberGL(Ember Graphics Library)是一个初级开源图形库,类似于 OpenGL/DirectX/Vulkan,专
为 MCU 和其他内存受限的非 GPU 系统上实时 2D/3D 渲染而设计。图形 API 专门为此类系统设
计,利用此技术能够在紧张的内存预算内最大限度地提高渲染性能,同时提供大量的灵活性和可定制
性。该库可用于预算更慷慨的其他目标,适用于受益于软件光栅化的项目,并且可以使用Visual
Studio 和GCC 等进行编译. 由于 EmberGL 是一个低级库,它仅提供灵活高效的三角形光栅化的核
心渲染功能,以及支持组件和一组显示驱动程序。这些低级功能可用于直接应用程序开发或开发高效
的高级图形库,例如 GUI 库或 3D 引擎。
该库具有基于图块的软件光栅化器,无需为整个显示帧和深度缓冲区使用 RAM 即可实现无闪烁渲
染,从而将库的适用性扩展到更广泛的设备和项目。Tile-Base Rendering (TBR) 架构通常用于移动
设备和一些桌面 GPU,主要是由于内存带宽优势(更多信息请访问Arm Developer 网站)。
EmberGL 的 TBR 引擎可以通过配置光栅化器属性(例如图块大小、深度缓冲区格式、中间图块像
素格式等)来针对广泛的内存和性能要求进行定制。
EmberGL 支持各种固定功能管道功能,例如一组深度测试、三角形剔除模式、三角形插值模式等。
除了固定功能功能外,该库还支持 C++ 可编程混合以及顶点和像素着色阶段自定义几何和灯光效
果。为了在支持一组灵活的功能的同时获得高性能,光栅化器广泛利用 C++ 模板在程序编译期间为
每组使用的功能生成优化的光栅化器。这消除了任何未使用的特征分支并将着色器代码紧密嵌入到光
栅化器中,从而为每个使用的特征和着色器组合优化光栅化器。
除了光栅化器之外,EmberGL 还提供了一组不断增加的优化显示驱动程序,以有效地将光栅化像素
传送到显示器。例如,该库包含优化的显示驱动程序,适用于支持 DMA 的流行 ILI9341 显示。可
以通过实现一个窄设备接口来扩展驱动程序集,它将新驱动程序挂接到光栅化器,其中主要实现重点
是设备初始化和像素数据传输,而不必担心光栅化器的复杂性。
EmberGL 源码地址
https://github.com/EmberGL-org/EmberGL


快速使用方法
硬件资源
 AT-SURF-F437开发板(AT32F413xx)
软件资源
 SC0108_SourceCode
示例使用
软件使用:
 打开SC0108_SourceCode\utilities各示例工程,编译通过之后下载到开发板
 观察LCD显示的3D图形旋转效果



微信图片_20230130192336.jpg

SC0108_SourceCode_V2.0.0.zip

3.74 MB, 下载次数: 18

SC0108_EmberGL_On_AT32F437_ZH_V2.0.0.pdf

307.04 KB, 下载次数: 16

评分

参与人数 1金币 +10 收起 理由
guoxiang + 10

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-8 08:37 , Processed in 0.158543 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表