1、概述           嵌入式设备开发当中,为了提高人机交互的友好,往往加入GUI,使得用户体验进一步增强。常见的GUI有小有大,比如ugui、ZLG_GUI、emWin和TouchGFX这些,
还有QT等等,支持器件种类繁多,发展迅速,向着华丽,流畅度,轻量级发展,有些支持操作系统或者裸机操作,大大降低使用难度。

2、发现

          这几天逛逛gui,突然发现一个3D GUI,跟以往的相比不同在于它支持3D图形之类的操作,虽然说MCU级别的速度不适合使用,体验一下还是不错的选择。由于这个3DGUI
使用C++编写,而GUI的运算需要大量的浮点运算,压栈等,确实感觉到MCU有些吃力;后来另外找了一个简洁一点的,接下来做一个梯形3D显示,并旋转它。
3、步骤
          3.1 使用的硬件为:兆易创新GD32VF103V-EVAL全功能开发板
          3.2 使用IDE:NucleiStudio_IDE_201909
          3.3 新建工程:请参照其它帖子新建一个简单的工程   -----   编译下载一次确保能成功
          3.4 开始修改工程:
          由于NucleiStudio新建一个完整的工程后,自带的TFT代码是旧版本,所以第一步直接替换掉以下这两个文件;回到软件刷新一下工程
          QQ图片20200118191449.png
           在main.c中添加头文件以及初始化TFT液晶,来个清屏,看看能否使用
            QQ图片20200118192024.png
           由于gd32vf103v_lcd_eval.h 没有提供任意画线函数,所以我们只能调用画点来实现画任意线(详情见附件代码)。实现这些底层操作后就方便给3D code调用了,将
3D代码移植过来,对接好相应的函数代码,即可编译运行。运行效果如下(实际是会旋转的)
          QQ图片20200118194348.png
4、总结
           3d的GUI还是比较有挑战性,未来mcu处理能力不断增强,希望会有不断的突破与创新。由于只是体验,未作代码相应优化,有兴趣的可以尝试去优化,改变。