设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

GuiLite 2.9发布:单片机+3D

2019-10-9 13:35| 发布者: joejoe0332| 查看: 100| 评论: 0|原作者: oschina|来自: oschina

摘要: 新功能 原本以为3D的故事已经结束了,但是开发群“王多余”同学的一个视频,让我们意识到单片机上依然有实现3D效果的可能,从视频上看出:少许的3D特效对用户体验有非常直观的提升(例如:开机动画,进度条,指示信 ...

新功能

原本以为3D的故事已经结束了,但是开发群“王多余”同学的一个视频,让我们意识到单片机上依然有实现3D效果的可能,从视频上看出:少许的3D特效对用户体验有非常直观的提升(例如:开机动画,进度条,指示信息等)。当然这些效果不是单片机独有,其他嵌入式linux平台,或windows平台也可以获利;毕竟能以最小的资源代价得到3D效果,并没有坏处。

为此,我们特别开发了一个3D引擎(Hello3D),因为该引擎仅仅引用到了GuiLite底层渲染,并不需要对GuiLite作特别修改,因此该引擎作为GuiLite的一个实例,放在GuiLiteSamples代码库里面;目前已经适配的工程有:STM32F103、STM32F4xx、Windows、Linux、Qt;有兴趣的同学可以下载运行一下。

该引擎的主要优势和特点如下:

  1. 能够方便的构建3D模型,以上效果仅仅需要1百行代码(包括:引擎和demo实例)
  2. 能够在单片机下面运行,实验的硬件是:stm32f103(16k ram)
  3.  能够支持linux,windows,qt -- 由于GuiLite的高度可移植性,做到这一点并不难 可以根据readme,在5分钟内,移植到任意单片机硬件上

不足之处有:暂时不支持纹理(对资源要求较高,可能会在非单片机平台上实现),反光,阴影这些高级属性。

当然,为了保证良好的UI交互,UI应该以2D为主;那么作这个东西的意义何在呢?我想意义有:

  1. 为2D的UI增加一抹3D的亮色,从而提高用户体验
  2. 对于简单的3D功能,不需要求助体量庞大的大型3D图形库(例如:DirectX,OpenGL)
  3. 使3D效果能够在单片机/嵌入式环境得到运用
  4. 打开一个3D窗户,为开发者增加一个选择;相信肯定有人可以做出更有实际意义,更惊艳的效果出来

代码更新

同时,此次发布,对GuiLite库进行了小的代码优化,包括:

  1. 修改部分变量的名称,避免词不达意
  2. 删除某些未被使用的接口
  3. 删除某些不必要的函数入参

请大家一并更新GuiLiteGuiLiteSamples代码库

社区动态

  1. 开发群同学(喵星人)完成GuiLite的python移植,并在多个实例上运行成功
  2. 开发群同学(inkfish)完成“智能手环”的开发,感谢视频分享 开发群同学(王多余)也自制了一个3D引擎,感谢视频分享
  3. 开发群同学(呆呆)完成对GuiLite utf-8编码原理的研究,感谢分享“中文转utf-8”的网址
  4. 开发群新加入了一位中国嵌入式的开山大神兼Boss,期待大家继续分享自己的精彩实例和移植方案,或许一不小心,好工作自己找上门了呢:)

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187  

返回顶部