[sig12]几个AAA游戏中的阴影技术
http://www.dimension3.sk/downloads/valient12_shadows_in_games.pdf
killzone的开发公司Guerrilla的tech lead, michal valient带来,这个文章可以说是我看过的shadow的文章最特别的一篇,其中众星云集,包括:
- god of war 3(奎爷一出谁与争锋,封面图片当然是奎爷的了)
- far cry 3
- killzone 3
- infamous
- two world
- 13ms:geometry
- 10ms : post process
- 10ms : lighting&shadow
- cascaded shadow map
- percentage close filter
- variance shadow maps
这个文章并不是一个革命性的带来什么新奇算法的,而是更加实用的,集中了几个AAA游戏的做法。
![](https://img-my.csdn.net/uploads/201209/04/1346765110_8574.jpg)
- 4 cascaded shadow map
- pcf
- stabilization(或者说是pixel snapping)防止抖动
- 1408x1408 d16 shadow map,1张
- 10+带阴影的点光源
- 5k+ object
- shadow map渲染时间是4-5ms
- 点光源比较远的时候使用低精度的shadow map
- 小物体skip
- depth bound
![](https://img-my.csdn.net/uploads/201209/04/1346765138_2997.jpg)
- 3 cascade
- cascade之间有blend来避免生硬的过渡
- 放置了不少大型的occluder来cull掉挡住的物体,然后也可以避免light bleeding
- 会调整shadow map的方向,让建筑竖直的边和shadow map的u coordinate一致
- 最后一个cascade用于particle的shadow
- cut scene时候用专门的shadow map---专门绕着主角来
- light indexed deferred
- evsm
- sample distribution shadow maps
- overdraw counting
- 这个很有nice,在构建shadowmap的时候使用stencil来查每个像素的overdraw,如果没有发生overdraw,也就意味着这个像素点上是只有shadow caster,没有receiver,那么这点上可以不画caster
- 但是这个信息怎么拿来来skip掉一些object,没说。。。
![](https://img-my.csdn.net/uploads/201209/04/1346767474_6197.jpg)
![](https://img-my.csdn.net/uploads/201209/04/1346767614_8304.jpg)
- 构建light view depth,256x256
- 然后在tile上的格子向上采样(采样的过程就类似计算shadow了),分别隔5m,10m,40m这样,选取最高的高度,存下来,resolution是192x192
- downsample 192的texture到32x32.
- 文中没有提到,但是我觉得最棒的地方就是每个tile可以很好的分帧,我在项目里也写了个类似的,realtime的cook了一些shadow信息,然后多帧重用,但是分帧就不太好做,farcry3就可以很好的3帧一个tile的逐渐更新
- quality上比普通的shadow map要来的好,filter和插值都非常的好
![](https://img-my.csdn.net/uploads/201209/04/1346773432_1759.jpg)
- cascaded shadow map
- 低精度的(1/4)的shadow buffer,然后使用bilateral upsampling
- temporal caching提升shadow和ao的品质
- 用于查询的是key,查询的结果是value
- 这里的key是pixel的depth
- shadow和ao的结果是value
- 体积阴影(volumetrics)
- 透明物体的阴影(这个不是比较普遍了么?)
- voxelize
[sig12]几个AAA游戏中的阴影技术相关推荐
- 几个AAA游戏中的阴影技术
http://blog.csdn.net/ccanan/article/details/7941821 http://www.dimension3.sk/downloads/valient12_sha ...
- [转载]漫谈游戏中的阴影技术
学习啦~~~~~~ 原文地址:漫谈游戏中的阴影技术作者:flymemory 随着硬件的越来越高端化,各种以前可望而不可及的效果越来越多的应用到网络游戏里.本篇文章是介绍目前游戏中影子的实现方式,它们的 ...
- matlab中blur函数_游戏中的PostProcessing(后处理)
PostProcessing是现代游戏中必不可少的技术之一,本文简单来总结下PostProcessing的实现原理和应用.因为详细写起来需要很大篇幅且很费时间,这里只简单介绍下原理. 1.基础部分 P ...
- 人工智能(AI)在游戏中的应用(上)
AI在视频游戏中的应用 副标题:游戏AI技术的发展现状以及在视频游戏领域的应用概览 (原作者:)Written by Laura E. Shummon Maass and Andy Luc 大多数人可 ...
- 国际战略中aaa模式_AAA游戏中的微交易将继续存在(但仍然很糟糕)
国际战略中aaa模式 This weekend, while most of the technology and gaming press wasn't working on anything pa ...
- Affinity:手把手教你“借鉴”好莱坞大片和AAA游戏大作中的配色方案
本方法在Affinity Photo和Affinity Designer中差不多,本文使用Affinity Photo演示. 配色这个事儿,对于和老王一样码畜出身毫无美术基础同志来说,可能真是心中永远 ...
- 游戏中的角色渲染技术之皮肤篇
原文链接https://blog.uwa4d.com/archives/Usparkle_Skin.html 这是侑虎科技第253篇原创文章,感谢作者洛城供稿,欢迎转发分享,未经作者授权请勿转载.当然 ...
- unity 角度限制_喵的Unity游戏开发之路 推球:游戏中的物理
前言很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3D游戏开发. 本 ...
- 游戏中的影子制作技术
本文版权归 17173 所有,如有转载请按如下方式显示标明原文出处,以示尊重! 原创:17173 原文:http://job.17173.com/content/2009-07-30/20090730 ...
最新文章
- Mila唐建博士《图神经网络:算法与应用》研究进展
- sota如何创建作业及配置作业文件详解(章节5)
- python可以处理什么文件夹_Python处理文件和文件夹的10条命令
- poj3254 Corn Fields 状压DP入门
- Jquery跨域请求php数据(jsonp)
- 自定义表单提交后返回上一页修改
- docker入门、docker基本命令
- 测试工具平台介绍之MeterSphere
- ubuntu安装transmission下载BT
- 沧小海基于xilinx srio核的学习笔记之第四章 Xilinx SRIO的示例分析(一)
- caj转换成word方法免费
- 【✈躺平了,三分钟学bat脚本✈】adb shell 执行命令 + bat脚本延时操作
- 紫光华宇拼音输入法不为人知的秘密(一)
- Win11修改用户名(超详细图文)
- [《不敢说爱的年纪》小个子的小说集]2012年8月28日
- 微信公众号和服务器的关系,微信公众号订阅号和服务号主要区别
- app上架小米应用商店流程
- (软考高级、高项)信息系统项目管理师(第三版)过关经验
- Kerberos基础及KDC服务(理论知识)
- 2020年机修钳工(初级)报名考试及机修钳工(初级)模拟试题
热门文章
- 苹果vs剪辑下载_苹果自带APP到底有多好用?这六款你真的要用起来
- 小米生态链之殇?“去小米化”的企业终将会积极拥抱小米
- 【Windows】如何删除磁盘管理中的恢复分区
- 2022年血糖仪行业现状
- 计算机编程实验,c语言下的计算机软件编程实验
- Excel VS BI,谁才是真正的大数据分析工具?
- 【Linux】用户配置文件(passwd shadow | group gshadow)
- 2022年NOC软件创意编程(学而思赛道)决赛小学初中组python
- UpdatePack7R2 v22.11.10 Win7累积更新离线整合补丁
- 使用jTessBoxEditorFX-2.2.0制作自己的字库