d3d11 indirect lighting
来源:互联网 发布:威尔取模软件 编辑:程序博客网 时间:2024/05/01 02:15
http://www.gdcvault.com/free/category/280/conference/这里的一个文章
不过看着业界一点点迈向realtime GI,着实激动啊。
开卷列举了近期realtime indirect lighting的比较好的一些技术(paper),然后提到这个paper是包含:
- indirect lighting
- 和indirect lighting shadow
个人看法,indirect lighting和shadow同是计算光照相关的东西,很多方面的基本理念真的是非常相像。
比如基于rasterizer pipeline的话,都是有:
- screenspace----把需要计算的相关信息进行精确定位
- 有kernel的概念----想pcf等,也是rasterizer pipeline和单点(pixel)光照信息来自附近多点的时候的必然产物。
这个paper的indirect lighting的算法走的是screen space----来精确定位需要算什么。
然后在一定kernel上----进一步限定计算范围
用raytracing来计算间接光照。
所以最后下来,尽管标准意义上的raytracing是很昂贵的技术,但是在各种简化下,也可以在5970达到很高的fps了。
进一步细节:
- 使用RSM来存储直接光照的信息,texel作为VPL
- camera view来将每个pixel转到RSM space去,在一定kernel中来raytracing间接光照
- 最后得到的就是一个camera view的screenspace的间接光照buffer
这整个过程简直就是山寨screenspace shadow map(pcf filter),对比流程:
- light view构建depth
- camera view每个pixel转到lightview中去sample lightview-depth(shadow map),计算过程是kernel里面做的。
- 最后得到一个camera view的full screen的shadow buffer
- 最后往回一帖就好。
indirect lighting shadow
尽管觉得这个feature有点蛋疼,但是也是此paper的亮点:
基本算法:
- 建立3d grid
- 然后间接光照被挡住的才记下来
- 然后用上面的indirect lighting buffer减去这个被挡的lighting
- 就有了indirect lighting shadow
关键在3d grid这部分。
是用3d的texture来表示grid。
然后linklist来记录grid里面的triangles----这个只有dx11才有地。
然后再做occlution计算。
效果绝对刚刚地:(注意indirectlighting shadow)
- d3d11 indirect lighting
- Lighting
- INDIRECT函数
- Excel INDIRECT
- Indirect Computing Model with Indirect Formal Method
- D3D11 输入
- D3D11 聚光灯
- D3D11 拾取
- indirect quotation & direct quotation
- CO-Indirect cost allocation
- CO--Indirect Costs (Overhead)
- C51:bad indirect register
- Remote/Indirect entry
- C/C++ Indirect Pointers
- Indirect display driver开发
- Lighting Volumes
- rim lighting
- Cg_OpenGL Lighting
- 学习JAVA3D
- Study plan
- 劝学
- 2533--Longest Ordered Subsequence
- 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
- d3d11 indirect lighting
- 办公软件常识 (转)
- java反射与CGLIB代理的一个细节。
- 《C现代方法》第二章:C语言基本概念 (2)
- 数据库设计三大范式应用实例剖析
- 郁闷的心情
- 传数组名的小问题
- 迟到的TOP
- OOA/OOD/OOP