0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HarmonyOS 3D渲染引擎介绍

HarmonyOS开发者 来源:HarmonyOS开发者 作者:HarmonyOS开发者 2021-12-23 09:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:zhuhuanhuan,图形技术专家

随着3D技术的应用普及,越来越多的场景都能看到3D的身影,比如充电动效、3D壁纸、游戏等等,给用户带来了更有趣、更丰富的体验。要满足用户的3D体验需求,离不开3D渲染引擎。本期,我们就和大家聊一聊HarmonyOS的3D渲染引擎。

一、产生背景

现有的商业3D引擎,在游戏、工业设计、影视等领域发挥了至关重要的作用。为了兼顾跨平台的一致性、降低开发者的使用门槛,这些引擎往往会对不同的硬件平台做抽象,提供一站式的统一开发框架,让开发者在开发应用时无需关注硬件平台的差异性。这虽然给开发者带来了便利,但在一些轻量级3D场景下却存在应用架构庞大的问题,并且会消耗过多的内存和功耗。

以3D壁纸为例,如果使用现在流行的商业渲染引擎来实现,其内存占用和功耗都很大。下面的图1展示了一款典型的2D静态壁纸与其3D版本之间的资源消耗对比。可以看出,内存和功耗都大大增加了,这会大幅降低设备的待机时间。

图1 静态壁纸与动态壁纸的资源消耗对比

为了解决当前主流渲染引擎资源占用过高的问题,服务“1+8+N”众多设备的轻3D需求,华为自主研发了全新的轻量级HarmonyOS 3D渲染引擎。

二、HarmonyOS 3D渲染引擎介绍

HarmonyOS 3D渲染引擎采用了业界最先进的ECS(Entity-Component-System,实体-组件-系统)渲染引擎架构。 ECS架构的数据和方法分离,按照组合的方式将组件及其行为拼装成对象,对cache命中更加友好,并且更加易于实现多线程并行。

那么基于ECS架构的HarmonyOS 3D渲染引擎到底是怎样的?下面我们从典型特征、特性列表、性能表现三个方面,带大家了解HarmonyOS 3D渲染引擎。

1. 典型特征 HarmonyOS 3D渲染引擎具有以下典型特征:

数据驱动

为了最大限度减轻迭代开发的工作量,采用了数据驱动的设计思想,使得大量配置和修改都无需重新编译代码。例如render node graph、shader pipeline、renderpass layout、vertex data declaration和post-processing等内容都可以通过json等文本文件指定,开发者可以通过修改这些配置文件实现改变渲染流程、增加后处理效果、修改模型形状等操作。

插件机制

在保持引擎核心代码尽可能少的同时,提供了极为方便的架构级插件扩展支持。比如,在低端设备上,可以只提供引擎的核心部件,这样编译出来的二进制文件规模非常小。而在高端设备上,可以根据需要添加扩展功能插件,例如碰撞功能、粒子效果等。这样,既可以降低应用的资源消耗,也可以让开发者轻松构建自定义渲染管线。

高度并行

自动支持渲染并行化。GPU资源可以按照lock-free的方式访问,开发者无需使用锁,也不用担心资源访问的多线程竞争问题。

软硬结合

HarmonyOS与HISI芯片的软硬件联合优化,以及华为在GPU Turbo技术的长期沉淀,为3D应用能效比的提升作出了重要贡献。

现代图形API

图形API充分借鉴了Vulkan API的设计思想,能够有效利用Vulkan的大量创新特性,例如multi-queue、indirect rendering、stateless rendering、descriptor sets等。

2. 特性列表

相比当前业界常用的渲染引擎,HarmonyOS 3D渲染引擎已经支持所有核心功能和常用特性,可以满足绝大部分3D应用的开发需求。下面我们就来看看HarmonyOS 3D渲染引擎支持哪些特性吧:

图2 支持的特性列表

说明:图2中的“插件系统”是可以根据需要进行扩展的特性,其他特性则是系统默认支持的特性。

如图2所示,HarmonyOS 3D渲染引擎除了支持Java/C++ API以外,还将在2022年支持HarmonyOS的JS开发框架和声明式UI。后处理方面,目前支持FXAA抗锯齿技术,后续还将支持基于时域的TAA(Temporal Anti-Aliasing)抗锯齿技术,以达到更好的显示效果。

3. 性能表现

HarmonyOS 3D渲染引擎主打轻量级,其性能表现尤为重要。我们从开源项目获取了一些标准模型,这些模型经常用于图形领域的各种demo测试。基于麒麟990平台评估这些模型在多个引擎中的性能表现,测试结果如下图所示:

559ab330-630d-11ec-b2e9-dac502259ad0.png

图3 性能测试结果

开源项目:https://github.com/KhronosGroup/glTF-Sample-Models

从以上测试结果可以看出,HarmonyOS 3D渲染引擎在内存和功耗上表现都非常出色。

三、应用示例

HarmonyOS 3D渲染引擎当前主要面向普通的应用开发者,典型应用场景是在以2D为主的应用中嵌入少量的3D元素。

目前3D渲染引擎已经内置到HarmonyOS中了,下面我们来看看HarmonyOS 3D渲染引擎的几个典型应用示例:

UX 3D动效:

Qmoji(相机趣味变装):

3D壁纸:

四、未来展望

虽然HarmonyOS 3D渲染引擎当前主要面向轻量级的3D应用场景,但其同样支持复杂3D场景的开发,例如3D游戏、车控界面等。为了协作开发者更好地完成3D场景开发,HarmonyOS将在2022年推出3D场景配套的开发工具,敬请期待!

未来,HarmonyOS 3D渲染引擎以及配套的3D开发工具链将随着HarmonyOS持续演进,不断拓宽应用场景,持续推动3D应用在各种智能设备上的广泛落地,打造更加绚丽的数字世界!

原文标题:酷炫3D效果在瘦设备上也能实现?

文章出处:【微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

审核编辑:彭菁
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 3D
    3D
    +关注

    关注

    9

    文章

    2965

    浏览量

    111345
  • 代码
    +关注

    关注

    30

    文章

    4907

    浏览量

    71232
  • HarmonyOS
    +关注

    关注

    80

    文章

    2130

    浏览量

    33661

原文标题:酷炫3D效果在瘦设备上也能实现?

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    3D打印能用哪些材质?

    3D打印的材质有哪些?不同材料决定了打印效果、强度、用途乃至安全性,本文将介绍目前主流的3D打印材质,帮助你找到最适合自己需求的材料。
    的头像 发表于 07-28 10:58 458次阅读
    <b class='flag-5'>3D</b>打印能用哪些材质?

    3D AD库文件

    3D库文件
    发表于 05-28 13:57 5次下载

    光庭信息Kustom3D引擎登陆2025上海车展

    随着智能座舱的演进,3D交互界面已成为车载体验的核心载体。从3D车模、感知地图到沉浸式桌面,3D技术正逐步渗透座舱的每个角落。传统3D交互模式因场景固化、高成本和迭代困难等问题,难以实
    的头像 发表于 04-30 16:04 511次阅读

    芯原推出面向可穿戴设备的超低功耗OpenGL ES GPU,支持3D/2.5D混合渲染

    芯原股份(芯原,股票代码:688521.SH)今日宣布推出全新超低功耗的图形处理器(GPU)IP——GCNano3DVG。该IP具备3D与2.5D图形渲染功能,在视觉效果与功耗效率之间
    的头像 发表于 04-17 10:15 355次阅读

    CPU渲染、GPU渲染、XPU渲染详细对比:哪个渲染最快,哪个效果最好?

    动画渲染动画3D渲染技术需要应对复杂的计算任务和精细的图像处理,作为渲染技术人员,选择合适的渲染模式,会直接影响制作效率和成品质量。在主流的
    的头像 发表于 04-15 09:28 645次阅读
    CPU<b class='flag-5'>渲染</b>、GPU<b class='flag-5'>渲染</b>、XPU<b class='flag-5'>渲染</b>详细对比:哪个<b class='flag-5'>渲染</b>最快,哪个效果最好?

    3D闪存的制造工艺与挑战

    3D闪存有着更大容量、更低成本和更高性能的优势,本文介绍3D闪存的制造工艺与挑战。
    的头像 发表于 04-08 14:38 1228次阅读
    <b class='flag-5'>3D</b>闪存的制造工艺与挑战

    基于 HT 2D&amp;3D 渲染引擎的新能源充电桩可视化运营系统技术剖析

    在新能源汽车产业快速发展的浪潮中,充电桩作为关键配套设施,其运营管理的高效性和智能化愈发重要。图扑软件凭借基于 WebGL 和 Canvas 的 HT 2D3D 渲染引擎依托 WebGL
    的头像 发表于 03-20 11:47 433次阅读
    基于 HT 2<b class='flag-5'>D</b>&amp;<b class='flag-5'>3D</b> <b class='flag-5'>渲染</b><b class='flag-5'>引擎</b>的新能源充电桩可视化运营系统技术剖析

    配备3D图形加速引擎的通用微处理器RZ/G2LC数据手册

    RZ/G2LC 微处理器配备 Cortex®-A55 (1.2 GHz) CPU、16 位 DDR3L/DDR4 接口以及带 Arm Mali-G31的 3D 图形加速引擎。 此外,这款微处理器还
    的头像 发表于 03-12 17:29 460次阅读
    配备<b class='flag-5'>3D</b>图形加速<b class='flag-5'>引擎</b>的通用微处理器RZ/G2LC数据手册

    SciChart 3D for WPF图表库

    DirectX 支持的 WPF 3D 图表和广泛的 API 完成工作。 WPF 3D 图表性能 我们传奇的 WPF 3D 图表性能由广泛的端到端性能优化、不安全代码、C++ 互操作、DirectX
    的头像 发表于 01-23 13:49 737次阅读
    SciChart <b class='flag-5'>3D</b> for WPF图表库

    腾讯混元3D AI创作引擎正式发布

    近日,腾讯公司宣布其自主研发的混元3D AI创作引擎已正式上线。这一创新性的创作工具将为用户带来前所未有的3D内容创作体验,标志着腾讯在AI技术领域的又一重大突破。 混元3D AI创作
    的头像 发表于 01-23 10:33 683次阅读

    腾讯混元3D AI创作引擎正式上线

    近日,腾讯公司宣布其自主研发的混元3D AI创作引擎已正式上线。这一创新性的创作工具,标志着腾讯在3D内容生成领域迈出了重要一步。 混元3D AI创作
    的头像 发表于 01-22 10:26 680次阅读

    2.5D3D封装技术介绍

    整合更多功能和提高性能是推动先进封装技术的驱动,如2.5D3D封装。 2.5D/3D封装允许IC垂直集成。传统的flip-chip要求每个IC单独封装,并通过传统PCB技术与其他IC
    的头像 发表于 01-14 10:41 1776次阅读
    2.5<b class='flag-5'>D</b>和<b class='flag-5'>3D</b>封装技术<b class='flag-5'>介绍</b>

    3D高斯泼溅——实时辐射场渲染利器 #高斯泼溅 #可视化 #渲染

    3D
    阿梨是苹果
    发布于 :2024年12月30日 14:42:17

    KiCad发现之旅(三)PCB 3D查看器

    方式查看您的PCB设计! 加上庞大的3D模型库,您可以在交互式3D视图中立即检查您的设计。与二维显示相比,旋转和平移检查细节更容易。 与PCB集成的3D查看器 可以在PCB编辑器中简单地激活3
    的头像 发表于 11-12 12:23 2613次阅读
    KiCad发现之旅(三)PCB <b class='flag-5'>3D</b>查看器

    SOLIDWORKS 2025版本使用了全新的渲染引擎

    在CAD设计领域,SOLIDWORKS作为一款广受欢迎的3D建模和设计软件,一直以其强大的功能和优越的性能受到用户的高度评价。随着SOLIDWORKS 2025版本的发布,该软件再次带来了令人瞩目
    的头像 发表于 10-14 15:42 1067次阅读