Light Propagation Volumes in CryEngine 3
来源:互联网 发布:千方百计软件多少钱 编辑:程序博客网 时间:2024/06/06 02:15
http://www.crytek.com/technology/presentations/
Kaplanyan, A.: Light Propagation Volumes in CryEngine 3这个,有PDF,PPT,video
个人感觉是今年siggraph上对游戏业界贡献最高的。
这之前典型的UE3里面带的基于静态场景预计算的irradiance volume的限制太大,killzone2也是用的这个。
halo3更加hardcore。
但是现在游戏,像crysis,farcry2这种都是场景可破坏的,天气系统导致太阳光方向乱变,这种情况下还能有GI效果,不能不说是个大贡献。
而且是在console上,一共3.3毫秒,太赞了。
开始读这个文章真的是比较棘手,因为之前接触GI东西太少,读起来很是费劲。
后来把相关知识补充一下,就好多了。
总体感觉,crytek这篇主要是把前人一些东西进一步整合,并没有在基础上做很大改进。
所以笔记记起来直接以相对高阶的记法就可以了。
1, 场景是基于deferred lighting的,不是deferred shading两个很像,只是有比较小的差别。
2, 首先画一个reflective shadow map
3, down sample reflective shadow map
4, 把这个down sample的RSM(reflective shadow map) 每个pixel做为一个surfel(参见前面的point based lighting), 每个surfel就是一个光源了,也叫虚拟光源(virtual point light, VPL for short)。
5, 接下来是虚拟光源注入radiance volume阶段,在point based lighting里面radiance volume是在八叉树里面的cell做的,这里我们用的GPu计算,所以用的是3D volume texture, 八叉树的cell就对应到volume tex的texel。
做的时候VPL就把SH系数保存在最近的texel里面,这里还没结束,因为正常光源需要传播比较远,而现在只是保存在最近的texel(也就是cell)里,其他的也应该有光照信息的cell还需要处理。
就涉及到接下来radiance传播了。
6,radiance 传播 : 接下来把radiance在volume texture里面传播,保持能量守恒定律,像周围几个方向传。
7,最后得出的volume texture就是动态记录了场景里面低频简介光照的信息,然后我们用position(文章里说是world space的position)来sample,进而得到间接光照信息。
基本思路就是这些,进一步延伸和优化下一个文章说吧。
- Light Propagation Volumes in CryEngine 3
- UE4 Light Propagation Volumes
- LPV(Light Propagation Volumes)
- Cascaded Light Propagation Volumes for Real-Time Indirect Illumination
- CryENGINE 3: reaching the speed of light
- CryENGINE 3
- Resizing LVM Volumes in Linux
- CDK? 免费版CryEngine 3
- Back Propagation in BPNeuralNetwork
- 实时全局光照!SVOGI in CryENGINE
- Do Tick Volumes Work in Forex?
- CryENGINE 3 百度百科介绍
- Crytek CryEngine 3新特性完全详解
- [siggraph2011]Secrets of CryENGINE 3 Graphics Technology
- back propagation in practice;GD and SGD
- Global Derivatives Volumes Soared 25 Percent in 2010
- Example of Chain Rule in Gradient Back-propagation in LR
- CryEngine 3引擎Forest Demo画质初窥
- 搜索引擎之---Apache solr的实现
- 职场上做的最愚蠢行为
- 3D 图形编程的数学基础(2) 矩阵及其运算
- Team Building, English Diary 09-Dec-2009
- 关于“人生”的问题!
- Light Propagation Volumes in CryEngine 3
- C# WinForm开发系列 - ZedGraph
- Android SDK中tools详解
- WINpcap设置
- error C2679: binary '<<' : no operator defined which takes a right-hand operand of type '' (or there is no acceptable conversion
- 今天我要学会控制情绪
- MFC自定义消息
- 一些Java链接
- 传智播客-Writing Software is Like ... Writing(译文)(1)