在2021年HDC大会的主题演讲中提到,华为HMS Core图形引擎服务(Scene Kit)正协同三七游戏一起打造实时DDGI(动态漫反射全局光照:Dynamic Diffuse Global Illumination)技术,该技术已进入验证阶段。

什么是实时DDGI?它能带来什么样的效果呢?

如下是两张对比图,左侧是直接光渲染,右侧开启动态漫反射全局光照,来增加间接光效果。

通过上面两张效果图的对比,我们可以直观的感觉到,左侧图中光照效果比较生硬和单一,不符合实际视觉效果,而右侧开启DDGI后,画面的真实感更强,有更多的细节。

在图形学的渲染技术中,为了实现更为真实和逼真的渲染画面,无论是基于光栅化渲染和还是基于光线追踪的渲染技术,都需要将GI(全局光照:Global Illumination)纳入考虑范围之内。实时性渲染中如何实现GI效果,特别是在移动端的应用,一直是较为困难的问题。不同材质对GI的影响不同,由于漫反射(Diffuse)材质表面会将光照信息均匀地进行散射,因此漫反射GI是GI中影响最大的一个成分。

同时漫反射材质的视点无关属性,因此对于静态光源场景,可以通过离线烘焙光照贴图(Light Map)、光照探针(Light Probe)等方式,将场景光照信息缓存到对应的贴图上,在运行时直接查找贴图进行插值快速计算得到GI结果。如下图所示:

对于动态光源场景,也有RSM(反射阴影贴图:Reflect Shadow Maps)、VPL(虚拟点光源:Virtual Point Light)等GI的计算手段,但是由于忽略可见性项,导致场景中会存在漏光现象。针对这一现象,2019年业内推出DDGI算法,DDGI算法基于Light Probe的管线,将距离信息纳入Light Probe中,通过光追的方式,实现动态光源、动态物体的全局光照,并且较好地解决了漏光问题,可以算是当前最好的全局光照方案GI。

然而由于其依赖硬件设备的RT接口能力,存在平台的限制性,因此原始DDGI方案在移动端无法实现。当前全局光照GI技术,对于动态全局照明要么需要PC、主机等高性能平台,要么则需要提前烘焙以适应移动端的低算力要求,目前移动端没有能提供动态光源、动态物体全局光照GI的方案。

直到不久前,HMS Core图形引擎服务(Scene Kit)提供了一套面向移动端的实时动态漫反射全局光照(DDGI)技术,可扩展到全平台,无需预烘培。据介绍该技术方案是基于Light Probe管线,在Probe更新和着色时提出改进算法,降低原有管线的计算负载。并实现了多次反射信息的全局光照,有效提高渲染真实感,并且满足移动终端设备实时性、互动性要求。

从动态对比图中可以看到,在DDGI开启后,场景的光线效果更加真实,阴影部分的细节展示也更为丰富,对画面的整体展示有了明显的提升。

HMS Core图形引擎服务(Scene Kit)就DDGI技术正在与三七游戏进行合作,相信未来会给手游玩家带去更加不一样的体验。

了解更多详情>>

访问华为开发者联盟官网

获取开发指导文档

华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

华为HMS Core图形引擎服务携手三七游戏打造移动端实时DDGI技术的更多相关文章

  1. HMS Core机器学习服务图像超分能力,基于深度学习提升新闻阅读体验

    在移动端阅读资讯时,人们对高分辨率.高质量的图像要求越来越高.但受限于网络流量.存储.图片源等诸多因素,用户无法便捷获得高质量图片.移动端显示设备的高分辨率图片获得问题亟待解决.不久前,HMS Cor ...

  2. 华为HMS Core携手超图为三维GIS注入新动能

    6月30日,在2022(第五届)GIS软件技术大会GIS基础软件新技术板块论坛上,华为联合超图推出了基于HMS Core 3D Engine开发的高保真三维GIS插件,通过3D渲染技术助力三维GIS实 ...

  3. HMS Core分析服务助您掌握用户分层密码,实现整体收益提升

    随着市场愈发成熟,开发者从平衡收益和风险的角度开始逐步探索混合变现的优势,内购+广告就是目前市场上混合变现的主要方式之一. 对于混合变现模式,您是否有这样的困惑: 如何判断哪些用户更愿意看广告.哪些用 ...

  4. 用HMS Core地图服务自定义地图样式,给你的应用制作专属个性化地图

    不同行业的开发者对地图样式的展示需求差异很大.例如,物流类应用希望地图样式简洁一些,重点突出城市分布和快递路径:AR游戏类应用中的地图色彩需要和游戏UI适配,做的更酷炫一些:景区导览应用中的地图样式要 ...

  5. HMS Core机器学习服务助力Zaful用户便捷购物

    Zaful是近年来发展良好的出海电商平台,主打快时尚.在洞察其用户有购买街头海报.生活中同款衣物的需求后,Zaful联合HMS Core机器学习服务打造拍照购物服务.用户拍照后可在预设的商品图片库中搜 ...

  6. 从菜鸟到高手, HMS Core图像分割服务教你如何在复杂背景里精细抠图

    2021年以来,自动驾驶赛道进入爆发期,该行业成为大厂以及初创企业的必争之地.其中众多公司都采用了计算机视觉作为自动驾驶的技术底座,通过图像分割技术,汽车才能够有效理解道路场景,分清楚哪里是路,哪里是 ...

  7. HMS Core 机器学习服务6.4.0版本更新啦,文本翻译功能增加10种小语种语言类型!

    近日,HMS Core机器学习服务(ML Kit)文本翻译功能在6.4.0版本更新中增加了10种小语种语言类型,分别是马其他语.马其顿.冰岛.乌尔都语.波斯尼亚语.乌克兰语.加泰罗尼亚语.斯洛文尼亚语 ...

  8. HMS Core定位服务在生活服务类App中可以自动填写收货地址啦

    在涉及团购.外卖.快递.家政.物流.搬家等生活服务类的App.小程序中,填写收货地址是用户高频使用的功能.这一功能通常采取让用户手动填写的解决方案,例如上下拉动选择浙江省-->杭州市--> ...

  9. HMS Core 分析服务 6.4.1版本上线啦,快来看看更新了哪些内容。

    更新概览 支持转化事件回传至华为应用市场商业推广,便捷归因,实时调优. 卸载分析模型支持用户卸载前事件和路径分析,深度剖析卸载根因. 实时漏斗体验开放,灵活定位异常流失. 详情介绍 更新一:全面开放深 ...

随机推荐

  1. [loj3364]植物比较

    结论:设$b_{i}$满足该限制,则$a_{i}$合法当且仅当$\forall i\ne j,a_{i}\ne a_{j}$且$\forall |i-j|<k,[a_{i}<a_{j}]= ...

  2. 【HTML】WebStorage

    WebStorage 2019-11-13  10:46:18  by冲冲 1. 概况 早期浏览器的本地存储使用cookie,当前推荐使用Web Storage. Web Storage的数据以&qu ...

  3. Kubernetes Deployment 最佳实践

    零.示例 首先给出一个 Deployment+HPA+ PodDisruptionBudget 的完整 demo,后面再详细介绍其中的每一个部分: apiVersion: apps/v1 kind: ...

  4. UOJ 266 - 【清华集训2016】Alice和Bob又在玩游戏(SG 定理+01-trie)

    题面传送门 神仙题. 首先注意到此题的游戏是一个 ICG,故考虑使用 SG 定理解决这个题,显然我们只需对每个连通块计算一遍其 SG 值异或起来检验是否非零即可.注意到我们每删除一个点到根节点的路径后 ...

  5. R语言与医学统计图形-【32】海盗图、词云图、日历图

    1.海盗图 参数众多,其语法与基础包类似. 基础图. #devtools::install_github('ndphillips/yarrr') #install.packages('yarrr') ...

  6. 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)

    1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...

  7. mvc中常见的属性验证

    客户端验证逻辑会对用户向表单输入的数据给出一个即时反馈.而之所以需要服务器端验证,是因为来自网络的信息都是不能被信任的. 当在ASP.NET MVC设计模式上下文中谈论验证时,主要关注的是验证模型的值 ...

  8. GIFS服务的使用

    1.安装Samba服务 登录192.168.200.20虚拟机,首先修改主机名,命令如下: [root@nfs-client ~]# hostnamectl set-hostname samba [r ...

  9. 【模板】负环(SPFA/Bellman-Ford)/洛谷P3385

    题目链接 https://www.luogu.com.cn/problem/P3385 题目大意 给定一个 \(n\) 个点有向点权图,求是否存在从 \(1\) 点出发能到达的负环. 题目解析 \(S ...

  10. 取gridview中textbox的值【C#】

    <asp:GridView ID="gridView" runat="server" OnRowCommand="gridView_RowCom ...