2.基于BLE SoC芯片GR5526开发GPU 3D图形效果(2) - 先看Demo效果

 系列文章:

1.基于BLE SoC芯片GR5526开发GPU 3D图形效果(1) - 概览

2.基于BLE SoC芯片GR5526开发GPU 3D图形效果(2) - 先看Demo效果

3.基于BLE SoC芯片GR5526开发GPU 3D图形效果(3) - GPU知识概念梳理

4.基于BLE SoC芯片GR5526开发GPU 3D图形效果(4) - 解析第一个GPU工程

5.基于BLE SoC芯片GR5526开发GPU 3D图形效果(5) - 理解图形学中的矩阵变换

6.基于BLE SoC芯片GR5526开发GPU 3D图形效果(6) - 开发炫酷新动画

接上篇博客: .

1.基于BLE SoC芯片GR5526开发GPU 3D图形效果(1) - 概览

在进入Goodix GR5526 SoC的 图形模块 (GPU) 学习前, 先看看官方SDK 提供的 GPU Demo 的运行效果.

一、环境简要说明

拿到汇顶提供的GR5526 SK 开发板后, 从官方网站下载 GR5526 对应的SDK 包(https://www.goodix.com/zh/software_tool/gr5526_sdk).

如果是第一次使用 SDK包,SDK 内工程优先推荐IDE 是keil, 因此需要先安装 Keil 和 Jlink驱动;  安装完成Keil 后, 需要将适用于 GR5526 的算法烧写文件, 拷贝到 keil的下载算法目录.

  • GR5526 烧写算法文件位于SDK目录  ${SDK}\build\keil\GR5xxx_16MB_Flash.FLM
  • Keil 算法文件目录(一般情况下) 如下, 如果安装keil 时候更换了安装目录, 找到相对路径放置就好

经过以上步骤, 就可以通过 keil 编译、烧写和调试 GR5526 SDK 提供的示例工程了.

SDK 根目录有一个 说明文档, 也对SDK内容和环境做了一个简单说明, 可以参考下

二、图形化示例工程

 图形化示例工程位于目录 ${SDK}\projects\peripheral\graphics\ 下.  我下载到的是SDK 1.0.0版本, 打开目录后内容如下.

工程提供了图形化硬件模块或功能模块的示例, 通过 Keil 打开工程文件, 就可以进行编译和烧写.

先挑几个官方Demo, 编译烧写到 GR5526 SK板, 看下效果, 下面SK用到的屏幕是 454x454 分辨率.  (由于视频压缩为gif 图片, 画面效果看起来有一定损失)

Graphics_animation_effects

这个工程提供了一些画面转场效果的演示, 带明显的3D特征,  看起来有 立方翻转、淡入淡出、堆叠、渐变等几种.

从代码枚举看, 默认支持下面的3D转场效果

/**@brief Definition of transition effect. */

typedef enum {

    HAL_GFX_TRANS_LINEAR_H,     /**< Linear transition horizontally.  */

    HAL_GFX_TRANS_CUBE_H,       /**< Cubic transition horizontally. */

    HAL_GFX_TRANS_INNERCUBE_H,  /**< Inner Cube transition horizontally. */

    HAL_GFX_TRANS_STACK_H,      /**< Stack transition horizontally. */

    HAL_GFX_TRANS_LINEAR_V,     /**< Linear transition vertically. */

    HAL_GFX_TRANS_CUBE_V,       /**< Cubic transition vertically. */

    HAL_GFX_TRANS_INNERCUBE_V,  /**< Inner Cube transition vertically. */

    HAL_GFX_TRANS_STACK_V,      /**< Stack transition vertically. */

    HAL_GFX_TRANS_FADE,         /**< Fade transition. */

    HAL_GFX_TRANS_FADE_ZOOM,    /**< Fade-zoom transition. */

    HAL_GFX_TRANS_COVER,        /**< Cover transition. */

} hal_gfx_transition_t;

Graphics_rotate_box

这个工程展示了用GPU绘制一个旋转立方体的效果, 工程中提供了两种效果,一种是每个立方体面纹理贴为颜色,另一种立方体面纹理贴为图片。下面展示的是立方体面为颜色的效果.

Graphics_lvgl_watch_demo

这个工程相对于其他演示工程,是一个相对完善的watch demo (手表演示) 演示工程, 基于开源GUI框架 Lvgl开发,参考watch设计了交互逻辑, 进行了 一些典型界面的UX实现. 提供了图片资源和字体资源,还有完整的各类外设驱动移植集成, 可以作为 watch 设计的一个参考.

通过这个演示工程看, 帧率挺快的, 而且集成了界面间的转场效果。看来 Lvgl 的绘制层已经用GPU的实现替换了, 界面切换也重新集成了GPU的转场效果.

(挖坑: 后面有时间再梳理下这个工程的代码逻辑及实现, 因为产品在实现过程中, 较多的从这个工程借用了一些参考实现)

除上述演示工程外, SDK 还提供了其他的图形化工程及各种外设/BLE Profile的参考工程。 可以作为各外设和蓝牙的学习材料.

三、小结

在嵌入式SoC 加入GPU 处理单元, 从工程演示的demo看,  GR5526 的图形化显示能力还是很优秀的, 可以做一些有意思的效果. 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值