[程式] Dual-Paraboloid Shadow Maps

看板GameDesign (遊戲設計)作者 (嚕嚕米)時間11年前 (2014/11/01 16:05), 編輯推噓5(5010)
留言15則, 5人參與, 最新討論串1/1
今天想跟各位介紹兩個我喜歡的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://www.ptt.cc/bbs/GameDesign/M.1414829110.A.B32.html

11/01 16:11, , 1F
我教授有研究一個目的類似的投影方式,只不過不是兩半
11/01 16:11, 1F

11/01 16:12, , 2F
球,而是沿著像是網球的紋路把球拆成兩片
11/01 16:12, 2F

11/01 16:12, , 3F
他就直接叫它tennis-ball projection XD
11/01 16:12, 3F

11/01 22:51, , 4F
可以去研究看看unreal 4的源碼,有點信心全失的感覺
11/01 22:51, 4F

11/01 22:52, , 5F
他有soft shadow了
11/01 22:52, 5F

11/01 22:53, , 6F
而且未來 render pipe line 可能會在變化
11/01 22:53, 6F

11/01 22:53, , 7F
現在想的方法也不知道能不能用在未來的pipe line上
11/01 22:53, 7F

11/01 23:03, , 8F
推一下,少見的技術心得分享文
11/01 23:03, 8F

11/01 23:19, , 9F
Tennis-ball projection 該不會是Herron吧XD
11/01 23:19, 9F

11/01 23:28, , 10F
Unreal的話用的方法更先進吧
11/01 23:28, 10F

11/01 23:29, , 11F
分享這個方法是因為實作簡單!效果也不錯!
11/01 23:29, 11F

11/01 23:29, , 12F
篇幅有限我就沒有介紹Soft Shadow了
11/01 23:29, 12F

11/01 23:30, , 13F
我個人是用Exponential Soft Shadow
11/01 23:30, 13F

11/03 09:59, , 14F
11/03 09:59, 14F

11/06 03:37, , 15F
好像是Herron沒錯
11/06 03:37, 15F
文章代碼(AID): #1KL9Gsio (GameDesign)
文章代碼(AID): #1KL9Gsio (GameDesign)