• Lv1
    粉丝0

积分2 / 贡献0

提问0答案被采纳0文章1

作者动态

    [开发者活动] OpenHarmony 设备上的 3D 渲染

    samLee 显示全部楼层 发表于 2026-4-1 15:28:18

    01_device_info.jpg

    ## 前言

    我们最近在做 Cesium Native 对 OpenHarmony 平台的适配工作,基于 Filament 渲染引擎实现了一套 3D 渲染方案,目前已完成 PBR 材质渲染Cesium 3D Tiles 地图 两个核心模块的验证。

    本文记录了在一台入门级设备上的实机运行效果。需要说明的是,受限于测试设备的硬件性能,部分场景的渲染效果和加载速度距离理想状态还有差距,后续在更高配置的设备上表现会更好。先把现阶段的成果做个记录和分享。

    测试环境

    | 项目 | 信息 |

    |------|------|

    | 设备型号 | DT50 5G HM |

    | 操作系统 | OpenHarmony 5.0.0.707 |

    | 厂家信息 | YROS |

    | 发行版本 | YROS 5.0.0 | 01_device_info.png

    Material Sandbox — PBR 材质渲染

    Material Sandbox 模块基于 Filament 引擎,支持加载本地 glTF/GLB 模型并实时切换材质预设。

    可选模型包括 Duck、Helmet、Fox、Tank、Aircraft、Suzanne 等,材质预设支持 Default、Metal、Plastic、Amber Glass。Skybox 提供 Blue Sky、Sunset、Desert 三种环境光照。

    在当前设备上,基础模型可以达到 59~60 FPS 的渲染帧率。切换到更复杂的模型或材质后帧率会有一定下降,但基本可用。 03_duck_render.png 06_archviz_truck.png

    05_helmet_model.png

    04_metal_material.png

    Cesium 3D Tiles — 三维地图

    这是本次适配的重点模块。基于 Cesium Native 实现了 3D Tiles 流式加载,支持全球卫星影像、地形高程、3D 建筑模型的实时渲染。

    功能面板提供了 ORBIT(环绕)、RESET(重置)、ZOOM+/-(缩放)等视角控制,以及 CITY(城市)、HILLS(山丘)、FOG(雾效)、IMAGERY(影像)、3D BLD(3D建筑)等图层开关。

    实际表现: 受限于设备的 GPU 和内存性能,在加载大范围地图数据时存在瓦片加载延迟的情况,从全球视角缩放到城市级别时需要等待几秒钟才能完成瓦片加载。3D 建筑模型在局部区域可以正常渲染,但覆盖范围较大时会出现加载不完全的情况。 09_satellite_view.png

    10_terrain.png

    已知问题与限制

    1. 设备性能瓶颈: DT50 为入门级设备,GPU 算力有限,复杂场景下帧率不稳定
    2. 瓦片加载延迟: 大范围 3D Tiles 数据在当前设备上加载较慢,存在空白等待
    3. 内存限制: 高精度纹理和大规模 3D 建筑同时加载时可能出现资源不足
    4. 待优化项: LOD 策略、瓦片缓存机制、纹理压缩等方面还有优化空间

    后续计划

    • 在更高性能的 OpenHarmony 设备上进行测试验证
    • 优化 Cesium 3D Tiles 的分级加载策略(LOD)
    • 完善 Filament 渲染管线在 OpenHarmony 上的适配
    • 探索 OpenHarmony 平台的 GPU 加速能力

    如有相关技术交流需求,欢迎评论区留言讨论。联系邮箱:lixw@eware.net.cn

    ©著作权归作者所有,转载或内容合作请联系作者

    您尚未登录,无法参与评论,登录后可以:
    参与开源共建问题交流
    认同或收藏高质量问答
    获取积分成为开源共建先驱

    Copyright   ©2025  OpenHarmony开发者论坛  京ICP备2020036654号-3 | 京公网安备11030102011662号 |技术支持 Discuz!

    返回顶部