今天想跟各位介绍两个我喜欢的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
,希望可以跟板上喜欢图学的互相交流技术。