siggraph18, activision.sledgehammer带来。
主要谈的是sledgehammer工作室在cod材质系统方面的探索,这里btw一下,cod系列是infinityward,sledgehammer和treyarch三家工作室轮流开发。
开始inifinityward的cod4确实才华横溢,以出色的制作实力(设计,美术和技术非常均衡)开创cod,后来一堆乱事,主创也走了,后面的cod系列,虽然在设计上不复当年的惊艳,但是开始呈现大厂工业生产风的设计风格有连贯性,制作品质和技术稳步前进的风格。进一步也有了research center,可以看出来,这样的成功的系列产品,对于技术的持续探索是多么的重要。

本文是进一步聊了材质光照相关的东西,主要包括:

  • normal & gloss mipmapping
  • material surface occlusion
  • multiscattering diffuse brdf
    已经在pbr的大框架下,在实时的前提下,不停的逐步推进物理准确性。
    主要看点是:
  • 目前PBR的进一步发展趋势,就是在更加细节的地方,物理更加正确
  • activision做R&D的方式,非常的严谨,和实验室发论文并无二致,非常喜欢,不过所以本篇文章偏理论,读者看着会比较枯燥,但必须疾呼这个其实很酷很牛逼的!!!
  • 工程上,每一个方面的提升,都是基于正确的理论,来做高效的近似,而不是“直接hack,看着挺好就挺好”


normal&gloss mipmapping
这个其实在farcry和crytek的之前文章都有涉猎,这里在方向上是一致的:把normalmap看做gloss的一部分,尤其是远处的时候,normal的细节因为normalmap的mipmap的原因丢失,那么应该转入gloss的mipmap中去。


文中进一步给出了更精准的数学推理和做法,上图的表就比较有应用作用了。
blending细节normal的时候,再次提到经典blog:https://blog.selfshadow.com/publications/blending-in-detail/

material surface occlusion
这里也是考虑的颇为细致,赞一个。
就是normalmap可以用来在材质级别上去生成ao&self shadow信息,并且重新思考了ao的shading方式。
normal map->ao做法上这个顺序

  • normal map->heightmap
  • heightmap->ao

=ao的shading=

这个是我们常用的shading ao的方式,可见的部分是一个亮度,被occluded的地方,就是黑的,但是这个和实际情况不符,occluded的地方也是有反射的。
这里可以考虑到旁边材质的间接反射:

这样就精准了。

=ao的应用=
最后ao也是用在了specular occlusion上面

multiscattering diffuse brdf

这是一个早期开发时候的图,文中发现左边比右边亮,这个不符合我们的常识,右边是向阳的,应该更亮才对呀。
这里进一步就引发了对光照模型的探索,中间是明确区分了specular和diffuse,这个导致了不够能量守恒。

=能量守恒=
正确方式:

所以我们要根据specular的能量反射来调整diffuse lighting的量。


这个specular lighting的反射如何测定(或者游戏中现实的方式去决定),作者使用的是EnvBRDF的table来做specular的能量测定方式。

=multiple scattering diffuse brdf=
另外作者也进一步引进了Heitz的做法。

考虑到了能量在macrofacet之间的反射,要进一步将scatter考虑进来。

这里就是对于光照模型的运用,贴下ref就好了
[Mat03] A Data-Driven Reflectance Model
[Brd12] BRDF Explorer

[sig18]《使命召唤:二战》的材质光照技术相关推荐

  1. [sig17]《使命召唤:无限战争》的多层材质技术

    <使命召唤:无限战争>的多层材质技术,siggraph17,activision.infinity ward带来. PBR的发展趋势 从activision在cod上面做的一些工作上看,可 ...

  2. [sig16]《使命召唤》中的全局光照技术

    Treyarch是<使命召唤:黑色行动>系列的开发商,使命召唤系列的成功不必细说,treyarch也是一个在技术上很有探索的公司,在<使命召唤:黑色行动>1中率先使用基于物理的 ...

  3. [siggraph17]《使命召唤13:无限战争》光照技术

    brief siggraph17, cod13是infinity ward开发的,技术是多方合作出来的,这篇presentation是activition central tech两个哥们带来: 是1 ...

  4. 思路方向:如何在移动端实现3A级画面 from《使命召唤手游》技术副总监

    原始链接:https://mp.weixin.qq.com/s/Zm3rRXQf6yCoiXJ-wVtJsA 为了查找方便 备份一份 如有需求 请移步原文 5月11日-12日,由Unity举办的全球开 ...

  5. PS4二战在线游戏连接不上服务器,使命召唤14:二战打不开怎么办 游戏无法运行解决办法汇总...

    使命召唤14:二战是<使命召唤>系列的全新续作,一些玩家在下载未加密版的游戏后会遇到使命召唤14打不开.使命召唤14无法运行.使命召唤14未响应等等问题,其实这些问题并不是游戏本身的问题, ...

  6. 自动曝光在移动平台上的实现方案——以《使命召唤手游》为例

    一. Intro 在PBR渲染中,除了已被大家深入分析了很多遍的PBR材质属性(Surface Appearance)外,合理的光源强度和后处理也是不可或缺的部分.这里结合工作中的一些实践经验,讨论一 ...

  7. 使命召唤ios_使命召唤竞争性多人游戏未来引发争议

    使命召唤ios The Call of Duty esports community is currently reeling, thanks to the recent announcement t ...

  8. 使命召唤ol服务器位置,服务器架构升级 使命召唤OL跨区作战时代来临!

    近日,酝酿已久的<使命召唤Online>服务器架构升级即将付诸实施,全体<使命召唤Online>玩家未来都将在同一个服务器架构下进行匹配对战--争论已久的四大战区玩家孰强孰弱的 ...

  9. Godot 4.0中的基于有向距离场SDF(Signed Distance Field)的实时全局光照技术

    原文地址 Godot官网 <Godot 4.0 gets SDF based real-time global illumination> 作者 Juan Linietsky 6月28日 ...

最新文章

  1. 零基础学python看什么视频-零基础自学Python是看书还是看视频?
  2. 设计的核心任务之二:信息隐藏
  3. #ps –ef_常用Linux中ps命令学习及ps aux与ps -ef的区别
  4. vim永久取消空格颜色
  5. poj_3977 折半枚举
  6. 使用tmpfs存放MySQL的临时文件的问题一则
  7. mysql 多行唯一_mysql – 具有唯一约束的原子多行更新
  8. Java 小程序 之将输入的数字转换为金额输出
  9. shell 除法保留n位小数
  10. 生鲜APP软件功能开发
  11. 太宰治《人间失格》经典语录20句,句句引人深思
  12. 代理的原理及类型总结
  13. 舒舍提醒你需要注意这些
  14. 【附源码】计算机毕业设计java学生网上请假系统设计与实现
  15. 震撼【超高细节地球】GIS相关引擎,速看。。。
  16. Adobe全家桶功能介绍
  17. Centos之目录处理命令
  18. 后端程序员学习前端篇(一)
  19. 图片处理 | 分享几个图片处理相关工具
  20. python机票_某哪儿机票JS解密(3)--python调用node产生正确的航线和pre

热门文章

  1. 一点也不流氓的搜狗输入法皮肤
  2. 移动联通电信老用户换套餐方法
  3. adminLTE 教程
  4. 不愧是华东四大名校(交浙南科)之首!
  5. Android编译源码hook,Hook Android C代码(Cydia Substrate)
  6. 手把手教你逆向微信之朋友圈小视频转发(上)
  7. Oracle查询当前时间的前1个小时的数据
  8. E. Divide Points(想法 黑白染色 坐标转换)
  9. 服务端渲染(SSR) VS 客户端渲染
  10. Python之面相对象 - 函数VS方法 反射