导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    游戏引擎第一步:D1跑tinyGL

    MR Series
    2
    2
    1837
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • aldfaaa
      whycan矿工-小叶 LV 7 最后由 编辑

      某天刷文章认识到了一位比肩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的源码,

      交叉编译

      1. 先make src目录下的源码, 得到库
      2. 再make RawDemos目录下可执行程序

      github有个大伙优化的原始tinyGL原始版: https://github.com/C-Chads/tinygl

      我魔改移植到D1的tinyGL: https://gitee.com/YJHmath/tinygl-d1

      想拿程序去玩的:
      Raw_demos.zip

      坑点

      1. 填-march=native或者-march=rv64imafdc会导致编译出来的程序无法运行, 解决方法: 不填, 让编译器默认.

      2. 因为用了lp64d/libm.a, 所以指定了-mabi=lp64d, 但也不清楚生没生效

      参考

      MCU 上纯软件实现 OpenGL

      I 1 条回复 最后回复 回复 引用 分享 2
      • I
        iotai LV 3 @aldfaaa 最后由 编辑

        @aldfaaa /bin/sh: ./gears: Permission denied 没有权限怎么解决

        1 条回复 最后回复 回复 引用 分享 0
        • 1 / 1
        • First post
          Last post

        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

        行为准则 | 用户协议 | 隐私权政策