link:http://advances.realtimerendering.com/s2017/DecimaSiggraph2017-final.pptx
siggraph17上面killzone和开发商guerrilla和小岛工作室两个工程师带来,关于decima engine的光照和AA技术。
decima engine本来是guerrilla给killzone系列开发的引擎,后来扩展到guerrilla的horizon产品上,现在用在小岛的新游戏上,逐渐走上了一流in house engine;

这篇blog中会多记录一些height fog, AA, checkerboard相关的技术,读起来都很棒的。

ggx spherical area light


可能有一些读者看了blog就不看文章了,这里特地说明下,这个文章里有说到ggx spherical area light,但是目前还不太有对于area light的应用,所以暂时略过,有兴趣的同学可以在这里看看。

height fog


decima使用的是physically based atmosphere的模型,这里有一个细节的记录:
http://blog.csdn.net/toughbro/article/details/7800395
简言之:要根据物理模型计算raleigh/mie的inscattering/outscattering/absorption,把计算结果存入LUT加速计算过程。
到了horizon的开发中,项目组希望加入heightfog,那么就非常的直接要在fog的物理模型上加入。
玩转了数学公式之后,其实是非常直接的。

这里的用于lerp的alpha项就是height相关的项目。

checkerboard render & AA

先看下decima的结果:

可以比较明显的看到2160p的checkerboard在同样效率下有比较好的结果。
然后我们在看下pipeline:

checkerboard技术

这个技术在游戏行业中是从rainbow6:siege开始的,可以看这里的notes:
http://blog.csdn.net/toughbro/article/details/70666715
这是一个每帧只渲染1/2甚至1/4buffer(一般这种情况带msaa),然后通过temperal信息(一般至少保留前一帧),然后来做upsampling,进而组合成一个全分辨率的方式。
由于fragment数量大幅度降低,所以效率提升是异常明显的。

checkerboard in decima
可以看上面的pipeline,中间的yC0Cg部分先不看,对比最后结果
- 渲染一半分辨率
- 然后不同帧直接直接做temperal reprojection+平均混合

这样就组合出来最终结果,比rainbow 6的方案更加直接一些,没有那么多的filter等等。

FXAA in decima
然后decima还发现先做fxaa再做checkerboard merge,效果更好(道理也是比较直接的)。
所以结合fxaa的pipeline是;

七巧板拼合

好了我们再看下这个pipeline中间的部分,发现奇怪的图被打散然后拼在一起,wtf?
这里的方法让我乐半天,这脑洞可以的,膝盖献上!!!
decima表示,fxaa和temperal技术都需要快速的方案方形的四个角的pixel,而直接的使用的话,是斜角的pixel读取,这个速度很慢。
所以就用七巧板的方法,把图截开,然后旋转45度,然后拼合在一起,然后sample。
并且转到YCoCg来对luminance做快速访问。

sum
checkerboard部分可以说是比较精彩的;
heightfog在理解数学的基础上,也是比较直接,然后。。。效果很赞的!

[siggraph17]decima engine的光照和aa技术相关推荐

  1. AR Engine光照估计能力,让虚拟物体在现实世界更具真实感

    AR是一项现实增强技术,即在视觉层面上实现虚拟物体和现实世界的深度融合,打造沉浸式AR交互体验.而想要增强虚拟物体与现实世界的融合效果,光照估计则是关键能力之一. 人们所看到的世界外观,都是由光和物质 ...

  2. unity android光照贴图格式,Unity3D-光照贴图技术

    概念 Lightmapping光照贴图技术是一种增强静态场景光照效果的技术,其优点是可以通过较少的性能消耗使静态场景看上去更加真实,丰富,更加具有立体感:缺点是不能用来实时地处理动态光照.当游戏场景包 ...

  3. 上个时代的3A游戏,使用的是什么光照技术?| GAMES104实录 - 现代游戏引擎:从入门到实践

    本期为GAMES104<现代游戏引擎:从入门到实践>视频公开课文字实录第16期.本课程由GAMES(图形学与混合现实研讨会)发起,游戏引擎技术专家王希携手游戏引擎一线开发者共同研发. 课程 ...

  4. 【技术美术图形部分】PBR全局光照:理论知识补充

    写在前面 最近做东西的流程是这样的,想实现一个风格化森林小场景,场景体现的主体是风格化树和交互草 --> 于是用了两天时间学SpeedTree做树模型 --> 用了两天时间SD做了树干贴图 ...

  5. 【转载】【《Real-Time Rendering 3rd》 提炼总结】(九) 第十章 · 游戏开发中基于图像的渲染技术总结

    本文由@浅墨_毛星云 出品,转载请注明出处.   文章链接: http://blog.csdn.net/poem_qianmo/article/details/78309500 这是一篇近万字的总结式 ...

  6. 【《Real-Time Rendering 3rd》 提炼总结】(九) 第十章 · 游戏开发中基于图像的渲染技术总结

    本文由@浅墨_毛星云 出品,转载请注明出处.   文章链接: http://blog.csdn.net/poem_qianmo/article/details/78309500 这是一篇近万字的总结式 ...

  7. 虚幻引擎3(Unreal Engine 3)概要

    虚幻引擎3(Unreal Engine 3)概要 虚幻引擎3概要 虚幻引擎3是一个面向下一代游戏机和DirectX 9个人电脑的完整的游戏开发平台,提供了游戏开发者需要的大量的核心技术.数据生成工具和 ...

  8. 小记:《技术进步引发的灵感革命》网易游戏学院第二届公开日

    昨天参加了网易游戏学院的公开日<技术进步引发的灵感革命>,干货十足,期间做了一些笔记,分享一下. 在广州好几年了,也是第一次到科韵路信息港,下午去的早了些就在周围逛了逛,熟悉了一下地形和周 ...

  9. Shadow Map阴影贴图技术之探 【转】

    这两天勉勉强强把一个shadowmap的demo做出来了.参考资料多,苦头可不少.Shadow Map技术是目前与Shadow Volume技术并行的传统阴影渲染技术,而且在游戏领域可谓占很大优势.本 ...

最新文章

  1. Windows Azure Cloud Service (19) 动态指定WCF的发布地址
  2. 多索引表 (1)boost::multi_index多索引容器
  3. JavaString库
  4. 结合人脸识别元辅助学习的AU单元检测
  5. Android 系统(166)---GMO版本最近应用列表界面显示模糊的解决方案
  6. 【CometOJ】CometOJ#8 解题报告
  7. Java Web ——基于Jsp+Servlet的学生上课签到打卡系统/上课考勤管理系统
  8. linux 循环while,linux命令:while循环
  9. 在线板涂鸦,微信小程序,绘画板,签字版,实现在线涂鸦画板小程序源码
  10. c#创建画布_WinForm GDI编程:Graphics画布类
  11. 根据代表性序列预测OTU/ASV生活史策略——寡营养型or富营养型
  12. 智能扫描王 v1.0.0
  13. 存储-对象存储、文件存储和块存储
  14. flash传值php乱码,Flash中出现中文乱码的解决办法,网页模板帮助中心
  15. 图片自适应父元素大小,并左右上下居中的css方法
  16. Jstack查询线程堆栈
  17. java字符转成ncr_用Java打印所有可能的nCr组合
  18. 学校无盘服务器带机量50台要求,锐起XP无盘单服务器带170台详细说明:老玩童
  19. 微软模拟飞行2020服务器多少内存,微软模拟飞行配置要求高吗 微软模拟飞行2020配置要求介绍_游侠网...
  20. tf.get_collection()用法解析

热门文章

  1. 基于微信小程序的校园二手物品交易平台的设计与实现-计算机毕业设计源码+LW文档
  2. 嵌入式linux-dropbear连接时重复输入密码
  3. Launcher3之应用卸载过程分析
  4. 2020.09.29重读 原2020.08.04读 MoreFusion
  5. 输入法编程相关资源汇集-欢迎补充
  6. 计算机网络专业学校实践经验,学校实习计算机网络心得体会3篇
  7. linux vi或者vim编辑器中如何显示行号
  8. 号称下一代消息中间件!来看看它有多牛逼
  9. vim编辑器显示与取消行号
  10. js输入一个数,判断是质数还是合数