[程式] Dual-Paraboloid Shadow Maps

楼主: lulumi07 (噜噜米)   2014-11-01 16:05:07
今天想跟各位介绍两个我喜欢的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
,希望可以跟板上喜欢图学的互相交流技术。
作者: cjcat2266 (CJ Cat)   2014-11-01 16:11:00
我教授有研究一个目的类似的投影方式,只不过不是两半球,而是沿着像是网球的纹路把球拆成两片他就直接叫它tennis-ball projection XD
作者: damody (天亮damody)   2014-11-01 22:51:00
可以去研究看看unreal 4的源码,有点信心全失的感觉他有soft shadow了而且未来 render pipe line 可能会在变化现在想的方法也不知道能不能用在未来的pipe line上
作者: a27417332 (等号卡比)   2014-11-01 23:03:00
推一下,少见的技术心得分享文
楼主: lulumi07 (噜噜米)   2014-11-01 23:19:00
Tennis-ball projection 该不会是Herron吧XDUnreal的话用的方法更先进吧分享这个方法是因为实作简单!效果也不错!篇幅有限我就没有介绍Soft Shadow了我个人是用Exponential Soft Shadow
作者: riveranb (River)   2014-11-03 09:59:00
作者: cjcat2266 (CJ Cat)   2014-11-06 03:37:00
好像是Herron没错

Links booklink

Contact Us: admin [ a t ] ucptt.com