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

    文章

    2875

    浏览量

    107480
  • 代码
    +关注

    关注

    30

    文章

    4779

    浏览量

    68521
  • HarmonyOS
    +关注

    关注

    79

    文章

    1973

    浏览量

    30143

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    透明塑料件喷粉3D扫描CAV全尺寸检测逆向3D建模设计服务-CASAIM

    3D建模
    中科院广州电子
    发布于 :2024年08月30日 10:04:53

    裸眼3D笔记本电脑——先进的光场裸眼3D技术

    随着科技的不断进步,裸眼3D技术已经不再是科幻电影中的幻想。如今,英伦科技裸眼3D笔记本电脑将这一前沿科技带到了我们的日常生活中。无论你是专业的3D模型设计师,还是希望在视频播放和模型展示中体验逼真
    的头像 发表于 07-16 10:04 515次阅读

    深入理解渲染引擎:打造逼真图像的关键

    在数字世界中,图像渲染是创造逼真视觉效果的核心技术。渲染引擎,作为这一过程中的关键组件,负责将二维或三维的模型、纹理、光照等数据转化为人们肉眼可见的二维图像。本文将深入探讨渲染
    的头像 发表于 06-29 08:28 322次阅读
    深入理解<b class='flag-5'>渲染</b><b class='flag-5'>引擎</b>:打造逼真图像的关键

    VIVERSE 推行实时3D渲染: 探索Polygon Streaming技术力量与应用

    在商业领域和娱乐行业中,3D渲染技术一直是推动视觉体验革新的关键力量。随着技术的进步,实时3D渲染技术逐渐成为主流,近期VIVERSE平台对外发布引入一项全新技术——Polygon
    的头像 发表于 05-31 15:49 2332次阅读
    VIVERSE 推行实时<b class='flag-5'>3D</b><b class='flag-5'>渲染</b>: 探索Polygon Streaming技术力量与应用

    3D建模的特点和优势都有哪些?

    3D建模是一种用于创建三维对象的过程,它在许多领域都有着广泛的应用,包括动画、游戏开发、建筑设计、工程以及制造业等。下面古河云科技将介绍一些关于3D建模的内容详情,包括它的特点、优势以及一些常见
    的头像 发表于 05-13 16:41 2396次阅读

    烘焙vs渲染3D模型制作中的效率与质量之争

    3D建模和渲染领域,模型烘焙(Baking)和模型渲染(Rendering)是两个经常被提及的概念。尽管它们都与最终图像的生成有关,但它们在技术实现、目的、优势和劣势等方面存在显著差异。本文会详细
    的头像 发表于 05-12 08:27 448次阅读
    烘焙vs<b class='flag-5'>渲染</b>:<b class='flag-5'>3D</b>模型制作中的效率与质量之争

    头盔3D扫描逆向工程3d建模抄数测绘服务-CASAIM中科广电

    3D扫描
    中科院广州电子
    发布于 :2024年04月12日 14:03:01

    3D动画原理:电阻

    电阻3D
    深圳崧皓电子
    发布于 :2024年03月19日 06:49:19

    基于深度学习的方法在处理3D点云进行缺陷分类应用

    背景部分介绍3D点云应用领域中公开可访问的数据集的重要性,这些数据集对于分析和比较各种模型至关重要。研究人员专门设计了各种数据集,包括用于3D形状分类、3D物体检测和
    的头像 发表于 02-22 16:16 1124次阅读
    基于深度学习的方法在处理<b class='flag-5'>3D</b>点云进行缺陷分类应用

    友思特C系列3D相机:实时3D点云图像

    3D相机
    虹科光电
    发布于 :2024年01月10日 17:39:25

    OpenHarmony Sheet 表格渲染引擎

    基于 Canvas 实现的高性能 Excel 表格引擎组件 [OpenHarmonySheet]。 由于大部分前端项目渲染层是使用框架根据排版模型树结构逐层渲染的,整棵渲染树也是与排版
    发表于 01-05 16:32

    如何搞定自动驾驶3D目标检测!

    可用于自动驾驶场景下基于图像的3D目标检测的数据集总结。其中一些数据集包括多个任务,这里只报告了3D检测基准(例如KITTI 3D发布了超过40K的图像,其中约15K用于3D检测)。
    发表于 01-05 10:43 580次阅读
    如何搞定自动驾驶<b class='flag-5'>3D</b>目标检测!

    揭秘:实时渲染、离线渲染、云渲染和混合渲染的区别

    遇到这些概念,或者一些3D渲染引擎产品的时候,可以按照这些渲染分类,去快速的进行定位和分析,更好的帮助我们理解和学习。一、实时渲染实时
    的头像 发表于 12-26 08:27 808次阅读
    揭秘:实时<b class='flag-5'>渲染</b>、离线<b class='flag-5'>渲染</b>、云<b class='flag-5'>渲染</b>和混合<b class='flag-5'>渲染</b>的区别