《赛车总动员2》的渲染技术
来源:互联网 发布:金山软件怎么样 编辑:程序博客网 时间:2024/06/10 07:08
Rendering In Cars2,由disney旗下Avalanche Software的三个哥们带来。
Avalanche已经发布过toy story3,这次来到cars2,面临了很不一样的挑战,toy story里面是一些简单模型小可爱,所以里面的性能压力相对较小,就有较大的空间去提升光影。
cars2里面支持4个人同屏竞赛,也就是4分屏,所以很多东西要重新来平衡来达到一个好的品质。
LightProbe
光照使用到基于light probe的indirect lighting,
avalanche在light probe处使用
- gpu来render出一个cube map,
- cubemap使用atlas来提升性能
- 使用dx的cubemap to sh projetion来得到spherical harmonics系数
- sh存了3个order
- 这里其实就是一个irradiance volume,不过cars2进一步玩转irradiance volume
cars2玩转irradiance volume:
- 里面使用box structure来一下子很快捷的放很多light probe
- 可以分一些box类型来禁止light leaking,有local的,有global的
- cars2采用cpu sample的,当然也可以有gpu的,但是还没实现呢
- irradiance volume的典型问题是大mesh的渲染,cars2采取把mesh拆分的办法来做
environment map对于cars2的最大意义似乎是很棒的reflection。
shadow
cars2把静态和动态物体的shadow分开搞,
- 静态物体有lightmap
- 投射到动态物体的shadow是实时算的
- 使用256*256的buffer
- 简单的low lod模型(proxy geometry)
- 只是营造车子跑到阴影里,上面发暗这种感觉,不并要求准确
- 动态物体是2个cascade的csm
- shadow使用quater buffer来提升性能
- 使用stencil cull来提升mlaa的性能
- stencil shadow mask optimization
- 画一个1/16的low res shadow
- 把shadow的边缘做一个dilate(膨胀)
- fulll resolution, 开stencil write,如果在边缘dilate处就texkill
- full resolution,开stencil test,这样只有边缘的部分才会full resolution render
- cars2的数据是stencil干掉%70的pixel
- 降低pixel render数量也把bilateral filer pass的时间消耗从2.6ms降到1ms
- 但是有个artifact就是:
- 不过鉴于是4分屏的(还想怎么样),而且不容易看出来,就这样吧。
- 《赛车总动员2》的渲染技术
- 赛车游戏的漂移技术
- 择业总动员2
- [sig12]《正当防卫2》的渲染技术1
- 《最终幻想》的渲染技术
- DataListBox的渲染技术
- 渲染技术的总结
- 玩具总动员2中英文对白
- 赛车游戏中赛车的物理建模
- 疯狂的赛车下载
- 谁是最好的赛车
- 赛车游戏的悖论
- 杀戮地带2的渲染技术(Rendering_Technology_Of_Killzone_2)
- hihocoder14(2)赛车
- 2D赛车
- 不错的国产动画片《飞机总动员》
- 赛车
- 赛车
- launcher 总结
- 监听器的使用
- 验证码
- mysql命令集
- 转载ssh自动登录
- 《赛车总动员2》的渲染技术
- 系统程序员成长计划-写得又快又好的秘诀(一)
- 对数据中心进行备份
- Hdu-1385 Minimum Transport Cost
- 领悟几句话
- 用MD5方式加密字符串
- Delphi 基本类型转换
- 关系型数据库到HBase的数据存储方式变迁
- C语言灵魂——————指针 之一