游戏引擎第一步:D1跑tinyGL
-
某天刷文章认识到了一位比肩Linus Torvalds的神人---QEMU, FFMPEG等神器作者法国程序猿Fabrice Bellard, 敬仰之余, 发现他手下有个OpenGL的开源子集实现tinyGL. 粗看代码感觉不算复杂
恰好手头上有个哪吒D1-H又没有GPU, 就把tinyGL移植了一下, 把牛当马使, 顺便摸摸D1-H性能的天花板.
先上效果图
默认分辨率大概47帧左右. (其实如果不搬RGB到fb可以上百帧)
打满官方MIPI屏分辨率(800x1280), 大概19帧左右.
运行该程序, D1-H终于有点发烧的感觉了, 也不算烫手.(估计还得再压个tinaplayer硬解4k)
修改要点
- 乱七八糟地魔改了一下Makefile, 里面的路径大家自己跟自家用的SDK对一下. ;
- 顺手牵羊几份SDK里的fbviewer的源码,
交叉编译
- 先make src目录下的源码, 得到库
- 再make RawDemos目录下可执行程序
github有个大伙优化的原始tinyGL原始版: https://github.com/C-Chads/tinygl
我魔改移植到D1的tinyGL: https://gitee.com/YJHmath/tinygl-d1
想拿程序去玩的:
Raw_demos.zip坑点
-
填-march=native或者-march=rv64imafdc会导致编译出来的程序无法运行, 解决方法: 不填, 让编译器默认.
-
因为用了lp64d/libm.a, 所以指定了-mabi=lp64d, 但也不清楚生没生效
参考
-
@aldfaaa /bin/sh: ./gears: Permission denied 没有权限怎么解决
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号