每一个行业都有自己的“圣杯”,例如能源方面的核聚变、医药方面的癌症特效药以及空间探索方面的超光速推进力。 任何领域中“圣杯”的定义都是难以实现和代价高昂的,或者完全是科幻产物。也许这就是我们之所以对此心驰神往的原因所在。

   计算机图形领域的“圣杯”就是“实时全局光照”。全局光照是一种渲染游戏环境的方法,它通过模拟光线的行为,从而体现各个表面之间的光线反射效果。然而以光子级别进行自然仿真处理是一项代价高昂的事业,电影中仅仅是有选择地利用全局光照来渲染复杂的CG场景,就是因为这个原因。

   这一情况即将有所改变。凭借次世代Unreal Engine 4(虚幻4)引擎,游戏将首次具备实时全局光照渲染效果。而这项技术是由NVIDIA图形工程师与EPIC开发者共同完成的,NVIDIA将其称为Voxel Global Illumination(VXGI,立体像素全局光照)。

● 什么是全局光照?它为什么对游戏逼真度来说如此重要?

   首先来看一组对比截图:

传统直接光照效果

全局光照效果

   区别很明显吧?通俗的讲,直接光照就是简单的模拟一个或多个光源的照射效果,在相应的位置投射出光和影;而全局光照就是考虑到了光线的直射与尽可能多的漫反射效果,最终呈现出来的光影效果更接近于现实世界。

   全局光照指的是对场景周围光线反射的计算。全局光照负责制作出现实环境中的许多细微着色特效、气氛以及有光泽的金属反射效果。自1995年在虚幻1中采用实时直接光照以来,虚幻4引擎中的实时全局光照是在光照方面实现的最大突破!

● 在没有全局光照技术之前,游戏是如何实现更逼真光影效果的?

   也许有人会说了,现有的游戏其实光影效果还是不错的,并不像上图1所示那么差。没错,上图的对比是比较直接的、没有附加特效的,其实游戏中还有其它的方法来提高画面真实度,最常见的就是Ambient Occlusion(AO,环境光遮蔽)技术。

目前最先进的水平环境光遮蔽技术 (Horizon Based Ambient Occlusion,HBAO)

   但不管是什么级别的AO,都是对光照与阴影的一种模拟,可以说是预处理,开发者认为此处的阴影的颜色应该深一些、或者浅一些、或者柔和一些,所以才会加上去的,而不是通过复杂的光影算法来直接生成的。

● 喜欢浓妆艳抹还是清新素雅

   我们知道传统的图形渲染分为立体建模(顶点着色)和像素着色两个部分,其中像素都是2D平面状的,平铺在模型表面,而光影效果都是需要预先计算每个像素的光照或阴影,就是根据游戏的需要来改变像素颜色。

   这种对每个像素反复进行涂抹修饰的做法,既不逼真、也很低效,因为像素显示的并不是真正的光影效果,而是我们认为应该显示的效果,而且越来越多的预处理特效对GPU的ROP(光栅单元)和显存造成了很大的负担。

● VXGI立体像素全局光照:2D平面像素变为3D立体像素

   NVIDIA使用了一种非常巧妙的方法,从根本上改变了虚假的光影处理流程。

   传统游戏中,所有间接光照(某一表面反射出来的光线)是预先计算的,存储于有光线贴图之称的纹理内。光线贴图让游戏场景能够具备类似全局光照的效果,但是因为它们是预先计算的,所以只在静态物体上有效。

   VXGI完全抛弃了将光线贴图存储于2D纹理中的做法,而是将其存储于立体像素中。立体像素就是三维像素,它具有体积,类似于乐高积木。

   立体像素采用树状结构分布,以便能够对其进行高效地定位。当渲染一个像素时,它能够有效地询问立体像素树: “哪一个立体像素对我来说是可见的?”根据这一信息,就能够决定接收的间接光线数量(全局光照)。

   VXGI完全消除了预先计算的光照,以存储于树状结构的立体像素取而代之,这种树会根据每一帧而更新,所有像素均利用它来收集光照信息。

● VXGI立体像素全局光照:每颗立体像素都是“手电筒”

   现在到了最关键的地方,立体像素看起来好像比马赛克更加稀疏,但是所有可见的立体像素都可以执行锥形聚焦光线追踪(给出起点、方向和角度),这样就能沿着小范围的锥形路径生成大致的光线漫反射效果。

   每一个立体像素都可以进行多个锥形追踪,游戏中需要根据实际光源的大致方向及反射表面的情况,来设定锥形范围及追踪数量。

   实现最终的效果没有捷径,就是通过GPU强大的运算能力,让锥形追踪足够快,以使我们能够实时地对每个立体像素执行一次或多次追踪。对每个像素执行六次宽幅锥形追踪 (每个主要方向各一次) 会生成大致的二次反射间接光照效果。以镜面反射方向执行窄幅锥形追踪能够呈现金属反射效果,在这种反射效果中,每个有光泽的表面都能够反射出整个场景。

● 虚幻4引擎完美支持VXGI,Maxwell显卡运行效率更高

   值得一提的是,VXGI提算全局光照技术严重依赖于GPU的浮点运算(通用计算),而不是传统的图形流水线,因此大大减轻了GPU光栅单元的负担。另外,NVIDIA称Maxwell架构对VXGI的运算进行了针对性的优化,新一代显卡在执行体素全局光照时的效率会更高。

VXGI现已加入UE4豪华DEMO

   虚幻4引擎已经完整支持了VXGI技术,最新的虚幻4技术演示Demo已呈现除了非常惊人的光照效果,不久之后,将会有一大批使用虚幻4引擎的游戏大作问世,届时Maxwell架构的显卡将会有更佳的性能表现。

NVIDIA的黑科技3:VXGI体素全局光照相关推荐

  1. VXGI体素全局照明

    查看全文 http://www.taodudu.cc/news/show-4292415.html 相关文章: 坯子库和suapp哪个好用_关于Sketchup插件安装使用,你应该知道的那些事 mat ...

  2. NVIDIA再推黑科技GauGAN,涂鸦秒变风景照,太强大了

    今天,可图君要给大家介绍一个非常牛逼的黑科技.这可别让老板,甲方知道,不然你可能要丢掉饭碗了. 这是网上流传甚广的一个图,教你一步步来画一匹马. 首先,画两个圈:接着画4条腿.脸:然后画上毛发 最后再 ...

  3. 盘点2017 CES展会所有亮眼黑科技 (上)

    文章转自"ittbank"微信公众号,由于2017 CES(国际消费电子展)内容太多,所以文章分上下两期连载,此篇为上篇,主要展示智能汽车/智能驾驶/车联网,个人电脑,家庭电视,智 ...

  4. 阿里云首席科学家闵万里:我们为什么敢挑战一百年的制度,因为黑科技能为挽救生命抢来50%的可能性

    如果急救车不被困在红灯下绝望等待,里面垂危的生命,或者还有希望.也许AI可以做到,让绿灯提前为他敞开生命之路. 编辑 | 鸽子 在这世界上,最令人绝望的等待就是在急救车上,无情的红色信号灯将它一路拦截 ...

  5. 谷歌最新黑科技:裸眼3D视频通话,宛如真人面对面!Jeff Dean:魔镜啊魔镜

    梦晨 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 受疫情影响停办一年的谷歌I/O大会回来了,这一次是全程线上举办. 在会上,谷歌公布了一个秘密开发5年多的黑科技: 这个名为Starli ...

  6. 微软自拍:让黑科技拯救不会拍照的你

    微软自拍:让黑科技拯救不会拍照的你 微软亚洲研究院 2015年12月28日   你知道吗,不久前淘宝发布的消费数据报告显示,自拍杆的购买主力军居然是50-59岁的人群!无论你是否买过自拍杆,毫无疑问, ...

  7. 混合编程黑科技:跨语言编程问题迎刃而解的3个要点

    首先,混合编程是什么鬼? 这个世界上编程语言真不少,光常用就有:C.C++.Java.C#.Objective-C.Javascript.Python.Lua.Swift等等等,遑论一些专业性比较强的 ...

  8. 非word格式文件700015怎么办_vim黑科技--在word/浏览器/excel等环境中使用vim

    Vim作为一款古老的文本编辑器,广受欢迎,且长盛不衰.各种为非vim环境开发的vim插件多不胜数,可见大家对vim的狂热. 但是世间程序千千万,却不不是每一款程序都有程序员专门为之开发插件.譬如程序员 ...

  9. 黑科技抢先尝(续2) - Windows terminal中Powershell Tab的美化全攻略

    温馨提示: 原文中含有一些外部链接,点击全文左下角的"阅读原文"体验会更佳喔~  接着之前的文章 黑科技抢先尝(续) - Windows terminal中WSL Linux 终端 ...

最新文章

  1. CVPR 2018 DEDT:《Efficient Diverse Ensemble for Discriminative Co-Tracking》论文笔记
  2. Kali Linux渗透基础知识整理(三):漏洞利用
  3. post multipart/form-data 类型表单如何获取File外其他参数
  4. java flux api,SpringBoot学习系列-WebFlux REST API 全局异常处理
  5. CSS3属性之text-indent文本缩进使用详解
  6. 《Web前端开发最佳实践》学习笔记
  7. python向lt新增5个元素_Python学习第十一课-MOOC嵩天
  8. 任务管理器使用不了-灰色
  9. linux 虚拟机设置静态ip
  10. 个人业务网站php源码,最新个人发卡网源码,PHP运营级个人自动发卡平台完整源码...
  11. oracle系统FA调整折旧年限,Oracle财务管理系统培训手册.doc
  12. Singularity 代码阅读笔记[结构: Struct_Microsoft_Singularity_BootInfo]
  13. Android 仿照美团城市选择,微信小程序仿美团城市选择
  14. python名片打印程序_Python的格式化输出--制作名片
  15. 高数 | 【微分方程】已知常系数微分方程特解,反求原方程
  16. python写代码没思路_如何训练自己的编程思路
  17. 黑中介北京链家,收了中介费,不给你服务
  18. Direct3D 12——纹理——三角形插值:重心坐标
  19. ha-sync-mode_如何启用,优化和调整NVIDIA G-Sync
  20. 久等了的QIIME 2 2020.2 更新来了

热门文章

  1. jsp页面div上下滑动_H5单页面手势滑屏切换原理
  2. 计算机科学与技术专题,专题四 计算机科学与应用技术.ppt
  3. linux java echo 3,Linux常用命令13 - echo
  4. Eureke服务入门就这一篇就够了
  5. Java流程控制02 选择结构 if结构 switch结构
  6. vue极致打包_vue 各种打包坑
  7. 睡眠多少分钟一个循环_睡眠分为几个阶段每个阶段大概多少时间?
  8. 封装 电流密度 重布线_具有周边硅通孔的晶圆级芯片封装有限元分析
  9. 惠普暗影精灵3清灰_如何评价惠普笔记本这几年的表现?尤其是暗影精灵系列。...
  10. python协同过滤调用包_简单的python协同过滤程序实例代码