在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技术正在与三七游戏进行合作,相信未来会给手游玩家带去更加不一样的体验。
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
【华为HMS Core图形引擎服务携手三七游戏打造移动端实时DDGI技术】关注我们,第一时间了解 HMS Core 最新技术资讯~
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)