作者lulumi07 (噜噜米)
看板GameDesign
标题[程式] Dual-Paraboloid Shadow Maps
时间Sat Nov 1 16:05:07 2014
今天想跟各位介绍两个我喜欢的Render技术,
这个技术可以同时运用在Shadow以及Reflection
一般来说,对於静态的场景cube map会是个很好
的选择,因为只需要查找相对应的Texture位置就
好。但动态场景中,你不会想要更新六个Texture
於是,我想介绍使用Dual-Paraboloid这个方法。
优点:只需要更新两张Texture
缺点:细节失真、Render场景多次
这个演算法将场景分成左右半球(或上下),
分别做两次全场景的Render,
利用Paraboloid Mapping生成两张Texture
生成两张Texture之後,当你Render反射面的
Pixel的时候,利用Paraboloid Mapping查找
你所生成的Texture。
这个技术也可以运用在Shadow上面,换而言之
,你只是存不同资讯而已。届时,你的Shadow
Mapping不会再受到Frustum限制。你可以有全
方位的Shadow。
我不会做太多的数学推倒,以下是个很棒的参
考网站:
http://ppt.cc/Yw5r
优化:
很明显我们可以事先检查物体落在哪一个半球
,减少Draw Call;另一个技巧是利用Geometry
Shader,把整个演算法缩减成One Pass。
Demo影片:
利用Frap录制我Render的结果给大家参考
http://ppt.cc/o~SJ
第一次在这边发表文章,我个人很喜欢Rendering
,希望可以跟板上喜欢图学的互相交流技术。
-------------------------------------------------
我的Blog:
http://www.shuoweic.net/index.html
Youtube频道:
http://ppt.cc/J1TO
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 73.42.141.90
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/GameDesign/M.1414829110.A.B32.html
1F:推 cjcat2266: 我教授有研究一个目的类似的投影方式,只不过不是两半 11/01 16:11
2F:→ cjcat2266: 球,而是沿着像是网球的纹路把球拆成两片 11/01 16:12
3F:→ cjcat2266: 他就直接叫它tennis-ball projection XD 11/01 16:12
4F:推 damody: 可以去研究看看unreal 4的源码,有点信心全失的感觉 11/01 22:51
5F:→ damody: 他有soft shadow了 11/01 22:52
6F:→ damody: 而且未来 render pipe line 可能会在变化 11/01 22:53
7F:→ damody: 现在想的方法也不知道能不能用在未来的pipe line上 11/01 22:53
8F:推 a27417332: 推一下,少见的技术心得分享文 11/01 23:03
9F:→ lulumi07: Tennis-ball projection 该不会是Herron吧XD 11/01 23:19
10F:→ lulumi07: Unreal的话用的方法更先进吧 11/01 23:28
11F:→ lulumi07: 分享这个方法是因为实作简单!效果也不错! 11/01 23:29
12F:→ lulumi07: 篇幅有限我就没有介绍Soft Shadow了 11/01 23:29
13F:→ lulumi07: 我个人是用Exponential Soft Shadow 11/01 23:30
14F:推 riveranb: 推 11/03 09:59
15F:推 cjcat2266: 好像是Herron没错 11/06 03:37