http://renderwonk.com/publications/s2010-shading-course/snow/sigg2010_physhadcourse_ILM_slides.compressed.pdf

http://renderwonk.com/publications/s2010-shading-course/snow/sigg2010_physhadcourse_ILM.pdf

siggraph10上面physically based lighting course里的文章。

由Industrial Light and Magic带来,原来的标题是《钢铁侠》和《终结者》中的image based lighting和physical shading,但是实际上这个paper覆盖了IML多年的积累,包括《珍珠港》,《绿巨人》等电影。

同时里面的很多做法,对realtime graphics也非常的有指导意义。

film reality

一点需要澄清的是,cg开发者的终极目标是film reality,不是真实的人眼可见的那种reality,这个限制来源于存储介质是LDR,所以在这个限制下,很多东西要考虑到这些因素。

90年代

在90年代的时候,是捕捉一个LDR的环境贴图(当时是LDR的,后来是HDR),来作image based lighting,当时使用cook torrence来做specular公式。

一些hack:比较典型的是一些ambient的光照,这个没法非常准确的进行capture,并生成shadow信息,会使用大量的spotlight来模拟:

(简直就是irradiance volume)

《珍珠港》

michael bay(《勇闯夺命岛》《珍珠港》《变形金刚》的导演)挑战IML说要一个比以往电影中cg渲染的飞机要更真实的效果,IML一顿捣鼓,结果大家都看到了,不说还以为是真实拍的飞机呢,如同战争比10所大学更能推进技术进步,需求真的是技术进步最好的助燃剂。

到了90年代晚期,raytracing(光线追踪)技术已经比较成熟,但是IML还是没有使用,源于在如此复杂的场景中使用不太现实,而且他们习惯使用的软件(renderman)中还没有这个功能(嗯,不错的实战经验),所以继续他们的image based lighting。

在珍珠港中,添加了

  • reflection occlusion,从image中读取的光照信息,加一个occlusion,防止在犄角旮旯的地方,应该比较暗,还很明亮的反射环境
  • ambient environment
来以手头拥有的资源,以很低的消耗(开发消耗和生成实际图像的运算消耗)达到了接近raytracing的GI质量。
最终到达了这样的质量:(coooool)

《绿巨人》(<hulk>)

到了绿巨人这里有了一个进展,就是环境贴图改成hdr的了,并且分辨率也进一步加大。

《钢铁侠》

到了《钢铁侠》这里主要是处理的材质上的事情,在环境贴图等image based lighting上面的工作已经比较成熟了(稳定的使用高分辨率的HDR环境贴图),但是在钢铁侠中的对材质高要求带来了新的挑战,很快项目组发现材质上的BRDF不够好。

这里必须要提的几个是:可见做一个很棒的最后结果,中间有多少积累工作需要做,他们很多的工作甚至不会再最终产品中露头

  • 在《变形金刚》中,ILM已经成功的做了不少的适用于车上的材质,这为钢铁侠中的工作铺垫了不少
  • ILM使用BRDF探测器(记录材质如何对光进行反射,bungie在halo上也做过这样的事情),
    • 但是发现chrome合金部分过于复杂,以至于没法收集足够的信息。
    • 收集的信息很棒,但是美术想做点改动就非常的难(估计一大票莫名参数直接眩晕了)
    • 最后探测BRDF工作没有使用,但是却帮助项目组更好的理解了材质的BRDF
基于这些分析,最后ILM使用各向异性的specular function来做超酷金属效果:

各向异性的brdf的研究也比较多了,ILM用的是在一些矢量方向上使用不同的specular exponent。

使用brickmap来做ray traced reflection surface caching。

ILM在钢铁侠开发期间也遇到了不少问题,其中一个就是很多参数(影响的factor),这些有些过于复杂,美术一顿调之后存在个人之间很不同,同时也会出现不真实的情况,简化等问题在后面的《终结者》的开发中有了很多进步。

这里ILM说的一个挺不错:ambient和diffuse其实是一个东西,reflectance和specular其实是一个东西。

《终结者》

到了《终结者:救赎》,ILM希望能够解决在之前项目开发中的一些头痛问题(比如太多参数调节的窘境),并迎接新的挑战(终结者中的一些场景的变化更加剧烈等)。

ILM采用更加基于物理的材质光照系统(physically based lighting)来:

  • 达到一个更加简单,更加直观,更物理正确的光照渲染系统
  • 这里包括:
    • 能量守恒的材质
    • normalized specular
    • more physically plausible specular falloff
    • more heavily image based
    • importance sampled raytracing
能量守恒
这个是物理光照中基本都会有的一项,就是保证反射的光强度不会超过入射光。
同时ILM把ambient和diffuse合并,specular和reflectance合并,这样只要平衡diffuse和specular就好了(不像原来要平衡4项)。
normalized specular
一个光在粗糙表面上反射,那么反射面会更大,同时亮度降低,其实这也是能量守恒的一种。
原来ILM没有这一项,是通过人手动来调的,现在做到specular公式中,那么结果不用调就比较自然了。

normalized Importance sample raytracing

importance sample就是通过去采样主要的部分来尽可能有效的去采样场景。

这个让我想起ue3的塞玛利亚人里面的反射就只反射霓虹灯,而建筑物什么的一概不管的这种,这应该也算是一种importance sample。

实际应用的时候,importance sample包括:

  • 主要采样image中比较亮的点
  • 在粗糙表面的时候,会对反射的方向做一些改变,指向最有效的部分
最后结果和标准raytracing差不多,但是效率却好很多。
变革的烦恼与收获
ILM在做了这些技术改变之后,和很多公司一样,有几点痛楚:
  • 对生产的影响,ILM在开发的同时也在制作电影,于是就沿用原先的系统来做原先系统可以处理的很好的部分,比如里面的摩托车机器人,然后在系统开发好之后,在做有挑战的部分,比如骷髅机器人
  • 开始技术的改变也导致了工具的效率问题(如果到游戏上还得加上bug和crash),开始做好的工具效率颇低(相比于原来)
  • 习惯于原先hack的美术们,对这个新系统的使用也颇有不习惯,ILM内部甚至引发了一场“圣战”,简而言之,费了好多力气才把新的系统(energy conservation, normalized specular等)推行下去
  • 不过到了后面的项目(《钢铁侠2》)的时候,痛楚期过去,全线转入新的物理材质光照系统,品质和开发效率都更加的高
最后来个图,钢铁侠是这样拍的,感觉演员拍的时候应该不会很high吧:

《钢铁侠》等电影中的image based lighting和physical shading相关推荐

  1. 2016版单词的减法_在2016年最大的电影中,女性只说了27%的单词。

    2016版单词的减法 by Amber Thomas 通过琥珀托马斯 在2016年最大的电影中,女性只说了27%的单词. (Women only said 27% of the words in 20 ...

  2. 学术科普 | 漫威电影中的智能大脑

    漫威电影中的智能大脑 王元卓  中国科学院计算技术研究所 陆   源   北京科技大学 崔原豪   北京邮电大学 不想读文字?那先来看精彩的视频解读! (点击下方图片即可观看视频解读) 科幻电影通常以 ...

  3. GraphicsLab Project之基于物理的着色系统(Physical based shading) - 基于图像的光照(Image Based Lighting)(Diffuse篇)

    作者:i_dovelemon 日期:2018-01-21 来源:CSDN 主题:PBR, Equrectangular Map, Cube Map, Irradiance Map, HDR Image ...

  4. 那些出现在电影中的程序代码

    高科技无关的电影也偶尔会出现一些跟计算机相关的镜头.文本搜罗的是在各种电影中出现过的代码,它们有的是黑客脚本,有的是绝密文件,有的就是为了摆酷,文中对这些代码都有截屏,你是否能看出它们是什么语言? 一 ...

  5. AI看电影看哭了...MIT科学家正在教AI感受电影中的喜怒哀乐

    翻译 | AI科技大本营(rgznai100) 参与 | 么广忠 虽然我们都知道人工智能(AI)特别火,但AI究竟能做什么了不起的事情呢?要是问AI能不能写出一本畅销的书,目前的答案是不能,显然AI目 ...

  6. 还原黑客电影中那些Hacking技术的真相

    图源来自geralt <我是谁 – 没有绝对安全的系统>主人公本杰明通过将自己DIY的设备放置目标公司,用诺基亚将上网的数据转发,最后攻破公司内网服务器. <幽灵>中的主人公通 ...

  7. MIT科学家正在教AI感受电影中的喜怒哀乐

    翻译 | AI科技大本营(rgznai100) 参与 | 么广忠 虽然我们都知道人工智能(AI)特别火,但AI究竟能做什么了不起的事情呢?要是问AI能不能写出一本畅销的书,目前的答案是不能,显然AI目 ...

  8. 在…视域下是什么意思_电影中出现的出品人是什么意思?你需要了解下

    随着市场经济的发展,中国国内的影视市场已经成为了全球第二大电影市场.2020年更有望成为全球第一大电影市场. 我们有时候在看电影时就会看到电影中出现出品人的字样,哪这出品人是什么意思呢? 出品人:一部 ...

  9. 周星驰搞笑电影中的BT角色大全(100位)

    1.吴孟达 所谓"戏骨"是指那些演戏基本已经达到戏我两忘,人戏合一之境界的演员们,有句话常来形容这样一种人,说他们"浑身上下都是戏".周星驰电影中的" ...

最新文章

  1. CN.Text开发笔记—利用反射将数据读入实体类
  2. H5 中的 new FileReader() 以及 识别上传的文件是否为图片
  3. FFmpeg--av_register_all函数分析
  4. 计算机应用基础测试成绩截图,计算机应用基础测试题图文稿.docx
  5. 7 款顶级开源 BI(商务智能)软件和报表工具
  6. 单进程服务器-epoll版
  7. React.Component与React.PureComponent的区别
  8. 木鸟民宿发布“中秋国庆出游住宿预测报告” 重庆、长沙最受欢迎
  9. 无数老板做企业还在卖产品赚差价
  10. [论文翻译] Active Learning by Feature Mixing
  11. Vsphere日记01.ESXi5.5.install
  12. linux双括号文本比较,Linux Shell 双括号运算符使用
  13. UVA10125 POJ2549 Sumsets【暴力+二分】
  14. 照度计与亮度计的区别及如何挑选?
  15. 解决Mac版 snipaste 不在菜单栏显示,无法修改快捷键
  16. kmeans聚类理论篇
  17. Linux系列(五)、Vim编辑器的使用、账号用户组的管理、磁盘管理、进程管理
  18. Tracup|使用项目管理独一无二的六大好处
  19. 共享一个计算属相年份的咚咚-----javascript 代码
  20. ThinkPHP5.0+七牛云SDK文件上传

热门文章

  1. 【python基础】正则表达式总结
  2. Neo4j调用APOC算法库
  3. Visual Studio 设置编写C语言步骤
  4. Separable Convolution(深度可分离卷积)
  5. AC-DMIS 5.3 工件与测针的准备
  6. 改善电流不匹配的级联电流镜布局设计 2002
  7. 终于有人把SDH、MSTP、OTN和PTN的关系解释清楚了
  8. Maven module 出现 Ignored pom.xml 问题
  9. 系统集成项目管理工程师(软考中级)—— 第十四章 项目成本管理 笔记分享
  10. Python_计算一个数的阶乘并统计尾部0的个数